代理:
public static HttpURLConnection getConnection(String urlstr, String proxyhost)throws Exception {
URL url = new URL(urlstr);
byte ip[] = new byte[4];
String arr[] = proxyhost.split("\\.");
for (int i = 0; i < 4; i++) {
int tmp = Integer.valueOf(arr[i]);
ip[i] = (byte) tmp;
}
//生成proxy代理对象,因为http底层是socket实现
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(
InetAddress.getByAddress(ip), 80));
return (HttpURLConnection) url.openConnection(proxy);
}
public static void main(String[] args) throws Exception {
String url = "http://www.xujsh.com/api/hao123";
String proxyhost = "192.168.119.182";
HttpURLConnection httpUrlConn = getConnection(url, proxyhost);
InputStream in = httpUrlConn.getInputStream();
String response = FileUtil.getContent(in, "UTF-8");
System.out.println(response);
}
以下是基于HttpClient的实现:
public static void main(String[] args)throws Exception {
HttpHost proxyhost = new HttpHost("192.168.119.182", 80, "http");
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyhost);
HttpHost targethost = new HttpHost("www.xujsh.com", 80, "http");
HttpGet get = new HttpGet("/api/hao123");
System.out.println("executing request to " + targethost + " via " + proxyhost);
HttpResponse rsp = httpclient.execute(targethost, get);
HttpEntity entity = rsp.getEntity();
System.out.println("----------------------------------------");
System.out.println(rsp.getStatusLine());
Header[] headers = rsp.getAllHeaders();
for (int i = 0; i<headers.length; i++) {
System.out.println(headers[i]);
}
System.out.println("----------------------------------------");
if (entity != null) {
System.out.println(EntityUtils.toString(entity));
}
} finally {
httpclient.getConnectionManager().shutdown();
}
}
原址:https://blog.csdn.net/goldenfish1919/article/details/8789604