`

HttpClient4基础2--通过认证代理访问网页

阅读更多
HttpClient发布4.0了 而且底层完全重写了,据说无论是效率还是结构都有质的飞跃。
现在也要与时具进,研究研究。
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.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.CredentialsProvider;
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.BasicCredentialsProvider;
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.util.EntityUtils;
public class GetHttpByProxyCredentials {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws ClientProtocolException 
	 */
	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("proxy.tt", 8080);
	    //实例化验证
	    CredentialsProvider credsProvider = new BasicCredentialsProvider();
	    //设定验证内容
	    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("fttj", "ft07");
	    //创建验证
	    credsProvider.setCredentials(
	        new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), 
	        creds);
	    httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
	    ((DefaultHttpClient)httpClient).setCredentialsProvider(credsProvider);
	       
	    // 目标地址  
	    HttpGet httpget = new HttpGet("/");  
	    // 执行  
	    HttpResponse response = httpClient.execute(httpHost, httpget);  
	    if(HttpStatus.SC_OK==response.getStatusLine().getStatusCode()){
			//请求成功
			//取得请求内容
			HttpEntity entity = response.getEntity();
			//显示内容
			if (entity != null) {
				// 显示结果
				
				System.out.println(EntityUtils.toString(entity,"utf-8"));
				
			}
			if (entity != null) {
				entity.consumeContent();
			}
		}
	}
}







长春都市网
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics