httpclient4.3 设置代理请求
2015-08-26 15:20
731 查看
最近需要使用Httpclient做后台请求,使用的是httpclient4.3版本,apache网站上有,我这里就不提供下载链接了,搜一下就可以了,废话少说,直接上代码:
Java代码
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpClientTest {
public static void main(String args[]) throws Exception {
// 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
// 依次是目标请求地址,端口号,协议类型
HttpHost target = new HttpHost("10.10.100.102:8080/mytest", 8080,
"http");
// 依次是代理地址,代理端口号,协议类型
HttpHost proxy = new HttpHost("yourproxy", 8080, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
// 请求地址
HttpPost httpPost = new HttpPost("http://10.10.100.102:8080/mytest");
httpPost.setConfig(config);
// 创建参数队列
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
// 参数名为pid,值是2
formparams.add(new BasicNameValuePair("pid", "2"));
UrlEncodedFormEntity entity;
try {
entity = new UrlEncodedFormEntity(formparams, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = closeableHttpClient.execute(
target, httpPost);
// getEntity()
HttpEntity httpEntity = response.getEntity();
if (httpEntity != null) {
// 打印响应内容
System.out.println("response:"
+ EntityUtils.toString(httpEntity, "UTF-8"));
}
// 释放资源
closeableHttpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java代码
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpClientTest {
public static void main(String args[]) throws Exception {
// 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
// 依次是目标请求地址,端口号,协议类型
HttpHost target = new HttpHost("10.10.100.102:8080/mytest", 8080,
"http");
// 依次是代理地址,代理端口号,协议类型
HttpHost proxy = new HttpHost("yourproxy", 8080, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
// 请求地址
HttpPost httpPost = new HttpPost("http://10.10.100.102:8080/mytest");
httpPost.setConfig(config);
// 创建参数队列
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
// 参数名为pid,值是2
formparams.add(new BasicNameValuePair("pid", "2"));
UrlEncodedFormEntity entity;
try {
entity = new UrlEncodedFormEntity(formparams, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = closeableHttpClient.execute(
target, httpPost);
// getEntity()
HttpEntity httpEntity = response.getEntity();
if (httpEntity != null) {
// 打印响应内容
System.out.println("response:"
+ EntityUtils.toString(httpEntity, "UTF-8"));
}
// 释放资源
closeableHttpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关文章推荐
- APC UPS网络监控卡配置IP地址
- Apache HttpClient 4.3开发指南 实现URL重定向
- 某公司网络搭建项目实战
- 在 iOS 中对接收到的网络数据(NSData)进行文件读写
- HttpClient读取ASP.NET Web API错误信息的简单方法
- Fetching https://dl-ssl.google.com/android/
- 通过httpclient向服务器传送数据并获得返回值
- Tomcat配置HTTPS
- 网络敲诈勒索案:不交保护费 就让你服务器瘫痪
- netty4发送HttpRequest及HttpReponse太大的问题(半包)
- Neural Networks for Machine Learning by Geoffrey Hinton (6)
- [python] TCP客户端/服务器端
- 设置网络:跳转至系统设置页
- Android学习笔记:Andorid网络请求框架Volley的使用(中)--网络图片加载
- Angular 设置http
- unity3d的网络使用的简单Demo
- 在Ubuntu QML应用中使用WebSocket建立TCP/IP连接
- 我的openwrt学习笔记(二十二):网络时间同步
- Android中解决网络连接异常
- Android OkHttp完全解析 是时候来了解OkHttp了