关于HttpClient在服务器端使用请求碰到的问题总结
来源:互联网 发布:淘宝麻辣烫底料 编辑:程序博客网 时间:2024/05/16 12:23
static CloseableHttpClient client = null;
public static HttpEntity connectForResult(String url) {
HttpGet get = new HttpGet(url);
try {
client = HttpClientBuilder
.create()
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.setSSLContext(
new SSLContextBuilder().loadTrustMaterial(null,
new TrustSelfSignedStrategy()).build())
.build();
CloseableHttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
if(entity != null) {
System.out.println(entity);
return entity;
} else{
System.out.println("entity为空!");
}
}
} catch (KeyManagementException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (KeyStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
get.abort();
try {
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
以上为我个人对httpClient的一个简单封装,写了一个静态方法方便调用,但是在用的过程中,出现了一些问题。记录一下:
1: “HttpEntity entity = response.getEntity();”这句话对相同的response对象只能使用一次。
2: 在作为静态方法时,由于使用的都是同一个client对象,所以不能在finally中写对资源的关闭,否则下一次调用就会报流关闭的错。写一个静态方法专门用于关闭资源
3: 网上说的对response.getEntity() 得到的entity对象的长度有1k长度的限制 是错的,一开始也是受这个误导查了很多资料都没找出问题。
0 0
- 关于HttpClient在服务器端使用请求碰到的问题总结
- 关于使用脚本请求服务器端资源无法缓存的问题
- Android 通过httpclient 调用碰到的问题总结
- Android 通过httpclient 调用碰到的问题总结
- Android 通过httpclient 调用碰到的问题总结
- 关于Httpclient的使用总结
- 关于SPCOMM使用中碰到的问题
- 使用路由器中碰到的问题总结
- Genymotion使用中碰到的问题总结
- 关于ios开发使用AFNetWorking框架请求服务器端取不到值的问题
- 关于在java6中使用XFire时碰到的一个问题Could not initialize Service
- 使用HttpClient发送http请求,并解析从服务器端返回的数据
- 使用HttpClient发送http请求,并解析从服务器端返回的数据
- 使用HttpClient发送http请求,并解析从服务器端返回的数据
- 使用HttpClient发送http请求,并解析从服务器端返回的数据
- 使用HttpClient发送http请求,并解析从服务器端返回的数据
- 关于HttpClient的总结
- 关于HttpClient的总结
- hdoj1342 Lotto
- 备份
- iOS开发所有KeyboardType与图片对应展示
- LeetCode(201) Bitwise AND of Numbers Range
- Next Permutation
- 关于HttpClient在服务器端使用请求碰到的问题总结
- ]Erlang进程堆垃圾回收机制
- 莱特币LTC矿池p2pool架设之Linux篇(自动调节矿工难度)
- iOS多线程编程之GCD
- LeetCode题解:Contains Duplicate II
- 备份
- CocoaPods安装和使用教程
- CoreData之条件查询 contains
- DWZ富客户端框架 api