HttpClient超时没有控制住 1C

项目中由于需要调用第三方接口,由于第三方接口不可控,我们设置的有超时时间

PostMethod post = new PostMethod(url);
post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
org.apache.commons.httpclient.HttpClient client = new org.apache.commons.httpclient.HttpClient();
client.getParams().setConnectionManagerTimeout(connectionTimeOut);
client.getParams().setSoTimeout(soTimeOut);
post.setRequestBody(parameters);
client.executeMethod(post);
InputStream responseBody = post.getResponseBodyAsStream();
InputStreamReader in = new InputStreamReader(responseBody, "utf-8");
BufferedReader br = new BufferedReader(in);
StringBuffer rets = new StringBuffer();
String inputLine = "";
while ((inputLine = br.readLine()) != null){
rets.append(inputLine);
}
in.close();
String data = rets.toString().trim();
return data;

    正常情况下能控制住,没有问题,但是昨天发生没有控住的情况,第三方表示升级网络改了hosts地址,

    请问大神帮忙忽略网络问题从程序的角度分析为什么会没控制住,谢谢。

2个回答

CloseableHttpClient http = HttpClients.createDefault();
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();
httpRequst.setConfig(requestConfig);

    建议使用这种
duan5564712
duan5564712 谢谢,主要是场景模拟不出来,各种方法也不好测。唉!
大约 3 年之前 回复

HttpClient在6.0版本后已经被淘汰了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐