`

Apache HttpClient通过代理访问网络

阅读更多

注:本代码实现包针对于Apache下的HttpComponents项目http://hc.apache.org/downloads.cgi

包命名规范为:org.apache.http.*;

示例代码:

package httpclient;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;

public class HttpClientTest {
	public static void main(String args[]) throws Exception {
		DefaultHttpClient client = new DefaultHttpClient();
		//设置代理开始。如果代理服务器需要验证的话,可以修改用户名和密码
		//192.168.1.107为代理地址 808为代理端口 UsernamePasswordCredentials后的两个参数为代理的用户名密码
		client.getCredentialsProvider().setCredentials(new AuthScope("192.168.1.107",808), new UsernamePasswordCredentials("", "")); 
		HttpHost proxy = new HttpHost("192.168.1.107", 808);  
		client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);  
		//设置代理结束
		HttpGet get = new HttpGet("http://www.163.com/");
		HttpResponse response = client.execute(get);
		//打印出状态码
		System.out.println(response.getStatusLine());
		//获得返回的内容,循环遍历出
		HttpEntity entity = response.getEntity();
		String str = null;
		if (entity != null) {
		    InputStream instream = entity.getContent();
		    BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
		    while(( str = reader.readLine()) != null) {
		    	System.out.println(str);
		    }
		    instream.close();
		    reader.close();
		}
		//遍历内容结束

	}
}

 

分享到:
评论

相关推荐

    HttpClient4基础1--通过匿名代理访问网页

    以下是一个简单的示例代码,展示了如何配置HttpClient4来通过匿名代理访问网页: ```java import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig; import org.apache....

    org.apache.commons.httpclient-3.1.jar

    5. **使用代理**:在需要经过代理服务器访问互联网的环境中工作。 6. **进行认证**:对受保护的Web资源进行身份验证。 总的来说,Apache Commons HttpClient 3.1是Java开发者处理HTTP通信的强大工具,它提供了丰富...

    org.apache.commons.httpclient相关架包

    7. **HTTP代理支持**:对于需要通过代理服务器访问互联网的应用,HttpClient提供了代理配置选项。 8. **重试策略**:HttpClient允许开发者定义重试策略,当网络不稳定时,可以自动重试请求,增加请求的成功率。 9....

    org.apache.commons.httpclient资源包(4.2)

    5. **代理支持**:如果你的网络环境需要通过代理服务器访问互联网,HttpClient可以配置代理设置,包括代理主机、端口、认证等信息。 6. **HTTP/1.1协议支持**:HttpClient 4.2完全支持HTTP/1.1协议,包括持久连接、...

    httpclient4.3 封装工具类

    1. **代理问题**:在进行网络请求时,有时我们需要通过代理服务器来访问目标资源。HttpClient 4.3封装工具类支持配置HTTP代理或SOCKS代理,包括设置代理的主机名、端口号,以及代理认证等。这样,即使在需要代理的...

    commons-httpclient 源代码包

    5. **HTTP代理支持**:对于需要通过HTTP或HTTPS代理访问的目标,`commons-httpclient`提供了代理配置功能,可以设置代理服务器的地址、端口以及认证信息。 6. **SSL/TLS支持**:对于HTTPS通信,`commons-httpclient...

    commons-httpclient-3.1.jar

    这使得HttpClient能够安全地访问需要身份验证的资源。 另外,HttpClient还提供了对Cookie的管理。通过`CookiePolicy`和`CookieSpec`,我们可以控制Cookie的接收和发送策略,确保合规性。 在使用过程中,我们还需要...

    ApacheCommons-HTTPClient组件的应用.doc

    Apache Commons-HTTPClient 是一个强大的Java库,专为简化HTTP客户端编程而设计。该组件主要用于在Java应用程序...通过理解并熟练运用HttpClient,开发者可以更高效地编写网络通信代码,提高应用程序的功能性和可靠性。

    httpclient4.1访问https的配置方法

    【标题】:“httpclient4.1访问https的配置方法” 【描述】:“本教程将指导你...同时,对于复杂的网络环境,可能还需要配置代理、重试策略等高级特性。HttpClient 4.1提供了丰富的功能,可以根据具体需求进行定制。

    httpclient-4.5.5

    4. **代理服务器**:HttpClient 支持通过代理服务器进行网络访问,适应企业内网环境。 总结,Apache HttpClient 4.5.5 是一个强大且可靠的网络通信工具,它的易用性、灵活性和高性能使其成为 Java 开发者的首选。...

    HttpClient依赖jar包.zip

    8. **代理设置**:对于需要通过代理服务器访问的网络资源,HttpClient可以配置代理设置,进行代理通信。 9. **Cookie管理**:HttpClient可以管理Cookie,处理会话保持和跨域问题。 在实际应用中,为了使用...

    httpclient jar

    1. GET请求:通过HttpClient,我们可以轻松创建GET请求。首先,创建一个`HttpGet`对象,设置请求的URL,然后通过HttpClient的`execute()`方法发送请求并获取响应。例如: ```java HttpGet httpGet = new HttpGet(...

    HttpClient问题:The server failed to respond with a valid HTTP resp

    检查网络连接,确保能够访问其他Web服务,如果网络没有问题,那么问题可能在于服务器或HttpClient的配置。 2. **服务器配置**:服务器可能存在配置错误,例如服务器端口没有打开,服务器应用程序崩溃,或者服务器不...

    HttpClient

    ### HttpClient 使用详解 #### 一、概述 `HttpClient` 是 Apache Jakarta Commons 提供的一个高效、功能丰富的 HTTP ...通过这些示例,你可以根据具体需求灵活地使用 `HttpClient` 来实现更复杂的网络请求处理。

    httpclient

    《HttpClient:网络爬虫...通过熟练掌握HttpClient的使用,开发者可以构建出稳定、高效的网络爬虫,实现对互联网数据的高效抓取和处理。在实际项目中,应结合具体需求,灵活运用HttpClient的各种特性,以实现最佳效果。

    httpclient-tutorial开发指导文档.pdf

    此外,文档还讲解了HttpClient的代理配置(Proxy Configuration),这是一个常用功能,特别是当需要通过代理服务器来访问外部网络资源时。 HTTP状态管理(HTTP State Management)部分讨论了HTTP Cookie的处理,...

    httpclient-4.3.6.jar包,安卓异步框架必备

    在Android应用程序开发中,网络通信是不可或缺的一部分,而Apache HttpClient库则是实现网络请求的常用工具之一。本篇文章将深入解析`httpclient-4.3.6.jar`包,它是Android异步框架中一个重要的组件,对于理解网络...

    Java中访问页面的HttpClient类

    在Java编程中,访问网页内容是一项常见的任务,通常我们使用HttpClient类来实现这一功能。HttpClient是Apache ...通过深入理解其源码和实践,开发者可以在实际项目中更好地利用HttpClient实现高效、可靠的网络通信。

Global site tag (gtag.js) - Google Analytics