httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求
Posted THISISPAN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求相关的知识,希望对你有一定的参考价值。
1.httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求。
http 连接一次就有返回流。http是个双向的嘛。只有连接了,就会有输出返回流。
所以在执行http连接的时候,返回值都是http连接的返回流。
HttpResponse response = client.execute(httpPost);
2.http发送,body里是可以写入中文的。但要注意乱码问题:
- public static String getHttpRequestString(String url,String body) throws IOException {
- HttpClient client = new DefaultHttpClient();
- HttpPost httpPost = new HttpPost(url);
- StringEntity stringEntity = new StringEntity(body);
- httpPost.setEntity(stringEntity);
- httpPost.setHeader("Content-Type", "application/json; charset=UTF-8");
- HttpResponse response = client.execute(httpPost);
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
- String line;
- StringBuffer jsonString = new StringBuffer();
- while((line = bufferedReader.readLine()) != null) {
- jsonString.append(line);
- }
- return jsonString.toString();
- }
这是最初的代码,如果传输的body有中文汉字的话,如果对方设置的格式是UTF-8,那么他接收到的字符是乱码,
stringEntity.setContentEncoding("UTF-8");
加上这样一句代码,设置下格式就好了。
以上是关于httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求的主要内容,如果未能解决你的问题,请参考以下文章
使用User-Agent防止HttpClient发送http请求时403 Forbidden和安全拦截
如何使用 fiddler 或任何其他工具跟踪 HttpClient 请求?