HttpClient4基础1--通过匿名代理访问网页
2009-10-12 08:39
561 查看
HttpClient发布4.0了 而且底层完全重写了,据说无论是效率还是结构都有质的飞跃。
现在也要与时具进,研究研究。
对于显示将结果转换成String以备后续使用,HttpClient已经为我们提供了一个简便方法
如下
现在也要与时具进,研究研究。
package test.httpclient4.proxy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicStatusLine; import org.apache.http.util.EntityUtils; public class GetHttpByProxy { public static void main(String[] args) throws ClientProtocolException, IOException { //实例化一个HttpClient HttpClient httpClient = new DefaultHttpClient(); //设定目标站点 HttpHost httpHost = new HttpHost("www.shanhe114.com"); //设置代理对象 ip/代理名称,端口 HttpHost proxy = new HttpHost("192.168.1.28", 5608); //对HttpClient对象设置代理 httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); HttpGet httpGet = new HttpGet("/"); //这里也可以直接使用httpGet的绝对地址,当然如果不是具体地址不要忘记/结尾 //HttpGet httpGet = new HttpGet("http://www.shanhe114.com/"); //HttpResponse response = httpClient.execute(httpGet); HttpResponse response = httpClient.execute(httpHost, httpGet); if(HttpStatus.SC_OK==response.getStatusLine().getStatusCode()){ //请求成功 //取得请求内容 HttpEntity entity = response.getEntity(); //显示内容 if (entity != null) { // 显示结果 BufferedReader reader = new BufferedReader(new InputStreamReader(entity .getContent(), "UTF-8")); String line = null; StringBuffer strBuf = new StringBuffer((int) entity.getContentLength()); while ((line = reader.readLine()) != null) { strBuf.append(line); } strBuf.trimToSize(); System.out.println(strBuf.toString()); } if (entity != null) { entity.consumeContent(); } } } }
对于显示将结果转换成String以备后续使用,HttpClient已经为我们提供了一个简便方法
如下
System.out.println(EntityUtils.toString(entity,"utf-8"));
相关文章推荐
- HttpClient4基础1--通过匿名代理访问网页
- HttpClient4基础2--通过认证代理访问网页
- HttpClient4基础2--通过认证代理访问网页
- HttpClient4基础2--通过认证代理访问网页
- HttpClient4基础2--通过认证代理访问网页
- HttpClient4基础1--通过匿名代理访问网页
- Httpclient通过代理访问网络
- Httpclient通过代理访问网络
- HttpComponents(Apache HttpComponents Client 4.1.3)通过代理访问网页的设置方法
- android通过okhttpClient下载网页内容的实例代码
- httpclient 访问网页面
- Android 无法用HttpClient.execute(httpGet)访问网页
- httpClient通过代理(Http Proxy)进行请求
- 通过HtmlParser和HttpClient抽取网页关键字并解决乱码问题
- Java通过http访问网页及xml及文件并保存到local
- Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程
- Android通过HttpClient访问服务器的servlet
- [Winhttp]_[C/C++]_[使用win32 SDK的Windows HTTP Services(WinHTTP)通过代理下载网页]
- 利用HttpClient4访问网页
- HttpClient的Post和Get访问网页