httpclient的post请求超时

前两天做项目,使用httpclient的post请求超时,检查代码也没问题。后来偶然在看日志的时候才发现问题所在。

现象

当post请求的返回数据少的时候应用没问题。当post请求返回的数据量在debug。当post请求的返回数据少的时候应用没问题。当post请求返回的数据量u大的时候应用就超时。

排查

经过debug发现post返回的数据量也就800k左右,还没有达到web容器限定值,所以不是容器的限制。
把请求应用和返回应用部署在同一台服务器,所以不是网速的问题。
在看控制台的时候发现【httpclient.wire.content】的日志,一个字节打一行,行数多达800k行,时间间隔十分钟左右。所以是日志打印的问题。

解决办法

暂时解决办法为,提高日志级别到info,不打印debug日志即可问题解决。

原文地址:http://blog.51cto.com/jtech/2140085

时间: 2024-07-31 07:15:58

httpclient的post请求超时的相关文章

net core 2.1 中HttpClientExtensions.PostAsJsonAsync<T>(HttpClient,string, T) 请求超时

.net core 2.1使用PostAsJsonAsync<T>(string,T) 和 PostAsync(string,ObjectContent) (PostAsJsonAsync内部的实现方法)都会超时. 最后改用 PostAsync(string, StringContent) 后请求正常. client.PostAsync(url, new StringContent(JsonConvert.SerializeObject(requestObj), Encoding.UTF8,

httpClient请求超时的设置以及处理

设置超时的起因 在我们的httpClient请求,当我们的请求地址错误或者请求无法在正常时间内连接并且得到反馈抑或是我们的服务器正处在关闭维修的状态 ,这时,我们发送httpClient请求的客户端会因为线程中一直在等待我们请求的反馈信息而造成进程阻塞.如果这时候我们不做任何处理会造成客户端无反应(在安卓系统中会造成手机应用的崩溃),这时候,我们就需要设置请求httpClient的超时时间来解决这个麻烦. 在我们的httpClient请求类中生命一个变量来做httpClient请求 <span

Java使用HttpClient实现Post请求

基于项目需求,想要实现Post消息推送,故采用HttpClient组件进行实现,相关代码如下(注:程序采用的httpclient和httpcore依赖包的版本为4.2.5): import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache

android使用apache httpclient发送post请求

package com.liuc; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.ht

httpclient发送request请求时设置header和timeout

package com.xxx.xxx.common; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Map; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.Htt

【JAVA】通过HttpClient发送HTTP请求的方法

HttpClient介绍 HttpClient 不是一个浏览器.它是一个客户端的 HTTP 通信实现库.HttpClient的目标是发 送和接收HTTP 报文.HttpClient不会去缓存内容,执行 嵌入在 HTML 页面中的javascript 代码,猜测内容类型,重新格式化请求/重定向URI,或者其它和 HTTP 运输无关的功能. HttpClient使用 使用需要引入jar包,maven项目引入如下: 1 <dependency> 2 <groupId>org.apache

Java中httpClient中三种超时设置

本文章给大家介绍一下关于Java中httpClient中的三种超时设置小结 在Apache的HttpClient包中,有三个设置超时的地方: /* 从连接池中取连接的超时时间*/ ConnManagerParams.setTimeout(params, 1000); /*连接超时*/ HttpConnectionParams.setConnectionTimeout(params, 2000); /*请求超时*/ HttpConnectionParams.setSoTimeout(params,

HttpClient的三种超时说明

HttpClient的3种超时说明: /* 从连接池中取连接的超时时间 */ ConnManagerParams.setTimeout(params, 1000); /* 连接超时 */ HttpConnectionParams.setConnectionTimeout(params, 2000); /* 请求超时 */ HttpConnectionParams.setSoTimeout(params, 4000); 第一行设置ConnectionPoolTimeout: 这定义了从Connec

HttpClient的3种超时

原文:http://www.cnblogs.com/codingmyworld/archive/2011/08/17/2141706.html HttpClient的3种超时说明 /* 从连接池中取连接的超时时间 */ConnManagerParams.setTimeout(params, 1000);/* 连接超时 */HttpConnectionParams.setConnectionTimeout(params, 2000);/* 请求超时 */HttpConnectionParams.s