0 0

httpclient 代理访问15

举个简单例子,想通过httpclient代理访问百度首页。
方法 commonProxy();  和 方法 notProxy(),均可。
但是通过httpclient 代理,就不行了,求指点。

这是错误信息  org.apache.http.conn.HttpHostConnectException: Connection to http://123.163.159.142:6675 refused
为什么使用普通代理就可以访问,而使用httpclient代理,就报错呢?

public static void main(String[] args) throws Exception
	{
		commonProxy();
		System.out.println("--------------------------------------");
		notProxy();
		System.out.println("--------------------------------------");
		useProxy();
	}
	
	/***
	 * 未使用 httpclient 代理
	 * @throws Exception
	 */
	public static void notProxy() throws Exception
	{
		HttpClient client = new DefaultHttpClient();
		HttpGet post = new HttpGet("http://www.baidu.com");
		HttpResponse response = client.execute(post);
		HttpEntity entity = response.getEntity();
		System.out.println("Response content: "
				+ EntityUtils.toString(entity, "UTF-8"));
		client.getConnectionManager().shutdown();
	}
	
	/**
	 * 使用 httpclient 代理
	 * @throws Exception
	 */
	public static void useProxy() throws Exception
	{
		HttpHost proxy = new HttpHost("123.163.159.142", 6675);
		HttpClient client = new DefaultHttpClient();
		client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

		HttpGet post = new HttpGet("http://www.baidu.com");
		HttpResponse response = client.execute(post);
		HttpEntity entity = response.getEntity();
		System.out.println(entity == null);
		client.getConnectionManager().shutdown();
	}
	
	/***
	 * 普通代理
	 * @throws Exception
	 */
	public static void commonProxy() throws Exception
	{
		String strUrl = "http://www.baidu.com"; 
		URL url = new URL(strUrl); 
		URLConnection conn = url.openConnection(); 
		
		Properties systemProperties = System.getProperties(); 
		systemProperties.setProperty("http.proxyHost", "123.163.159.142"); 
		systemProperties.setProperty("http.proxyPort", "6675"); 
		
		String ss = "";

		BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "gb2312")); 

		while ((ss=rd.readLine())!=null) 
		{ 
			System.out.println(ss); 
		} 
		
		rd.close();
	}


2012年10月24日 13:48
目前还没有答案

相关推荐

    HttpClient代理访问网络

    HttpClient代理访问网络

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

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

    httpclient4.1访问https的配置方法

    【标题】:“httpclient4.1访问https的配置方法” 【描述】:“本教程将指导你如何利用Apache HttpClient 4.1实现对HTTPS服务的访问,首先需要在Tomcat服务器上配置SSL支持。我们将涵盖SSL证书的生成、Tomcat服务器...

    cocos2dx HttpClient网络访问

    《cocos2dx中HttpClient网络访问详解》 在游戏开发领域,Cocos2d-x是一个广泛应用的开源跨平台2D游戏引擎,它支持多种操作系统,包括Windows 10。在网络功能方面,Cocos2d-x提供了HttpClient类,使得游戏能够进行...

    httpClient使用指南最新版

    **2.8 HttpClient代理配置** - 如果网络环境需要使用代理服务器,则需要配置HttpClient以使用正确的代理设置。 #### 三、HTTP状态管理 **3.1 HTTP Cookies** - Cookies用于保存用户的登录状态或其他信息。 - **...

    httpclient

    2. **登录和cookie管理**:处理登录过程,保存和发送cookie,以便于访问需要登录的页面。 3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对...

    HttpClient之Https应用实例

    HttpClient之Https应用实例~ 包含: HttpClient 使用代理访问Https HttpClient 信任所有主机-对于任何证书都不做检查 HttpClient 允许所有证书的校验(包括过期证书)

    HttpClient

    此外,`HttpClient` 还支持重定向处理、代理服务器以及自定义请求头等功能。 #### 二、安装与配置 在使用 `HttpClient` 之前,首先需要下载并安装必要的组件: 1. **下载 HttpClient**:可以从官方网站 ...

    commons-httpclient-3.1.jar

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

    httpclient jar

    它支持HTTP/1.1和部分HTTP/2规范,可以处理复杂的HTTP方法、认证、缓存、代理以及重定向等特性。 二、主要组件 1. `commons-httpclient-3.1.jar`: 这是HttpClient的核心库,包含了所有执行HTTP请求和处理响应的类...

    httpClient调用webservice接口

    HttpClient不仅支持HTTP协议,还支持HTTPS等其他协议,并且能够处理重定向、代理服务器以及身份验证等问题。此外,HttpClient还具有很高的灵活性和可扩展性,能够满足各种复杂的网络请求需求。 #### 三、调用...

    HttpClient依赖jar包.zip

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

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

    除了基本的HTTP请求,HttpClient还支持Cookie管理、身份验证、代理设置等高级功能。例如,使用`CookieStore`可以方便地管理会话cookie,而`AuthCache`则有助于处理服务器的身份验证需求。 在实际应用中,HttpClient...

    org.apache.commons.httpclient相关架包

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

    C#实现HTTP代理

    在IT行业中,HTTP代理是一种网络通信机制,它允许客户端(如Web浏览器)通过另一台服务器作为中介来访问互联网上的资源。这种技术常用于提高匿名性、优化网络性能或绕过特定的网络限制。本篇文章将深入探讨如何使用...

    HttpClient介绍和使用文档

    HttpClient还可以处理更复杂的情况,例如设置代理、使用POST方法提交表单数据、处理HTTPS连接等。对于POST方法,可以使用PostMethod类,并通过`setParameters`方法添加参数: ```java PostMethod postMethod = new ...

    org.apache.commons.httpclient-3.1.jar

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

    HTTPClient组件的应用

    HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet Applications)和Web服务客户端的开发尤其有用。 HttpClient组件的主要特点和功能包括: 1. 实现了HTTP 1.0和1.1的...

    httpclient4.3 封装工具类

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

    httpclient4.5.5官方手册

    代理配置(HttpClientproxyconfiguration)允许HTTP客户端通过代理服务器发送请求,这对于网络访问控制和内容过滤尤为重要。 在HTTP状态管理(HTTPstatemanagement)章节,手册讲述了如何处理HTTP cookie,包括...

Global site tag (gtag.js) - Google Analytics