1. 程式人生 > >使用代理IP、高匿IP、連接失敗

使用代理IP、高匿IP、連接失敗

http brush 技術分享 p地址 tpc ati default 選擇 ren

先百度一下,什麽是代理IP

技術分享

我們使用代理IP就是因為某些站點會屏蔽我們的IP,所以我們要動態的更換代理IP。

代理IP:

技術分享

其中我們首先選擇國內的IP,國外的一般都比較慢,其次不要選擇如{新疆烏魯木齊}等這樣的偏遠地區,盡量選用一二線城市的IP

關於代理IP的話 也分幾種 透明代理、匿名代理、混淆代理、高匿代理

1、透明代理(Transparent Proxy)

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Your IP

透明代理雖然可以直接“隱藏”你的IP地址,但是還是可以從HTTP_X_FORWARDED_FOR來查到你是誰。

2、匿名代理(Anonymous Proxy)

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = proxy IP

匿名代理比透明代理進步了一點:別人只能知道你用了代理,無法知道你是誰。

3、混淆代理(Distorting Proxies)

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Random IP address

與匿名代理相同,如果使用了混淆代理,別人還是能知道你在用代理,但是會得到一個假的IP地址,偽裝的更逼真。

4、高匿代理(Elite proxy或High Anonymity Proxy)

REMOTE_ADDR = Proxy IP

HTTP_VIA = not determined

HTTP_X_FORWARDED_FOR = not determined

可以看出來,高匿代理讓別人根本無法發現你是在用代理,所以是最好的選擇。

一般我們使用高匿的代理IP。

代碼示例:

public class Demo {
	public static void main(String[] args) throws Exception {
		CloseableHttpClient closeableHttpClient=HttpClients.createDefault(); //1、創建實例
		HttpGet httpGet=new HttpGet("http://www.bootcss.com/"); //2、創建實例
		
		HttpHost proxy=new HttpHost("114.219.61.82", 8118);
		RequestConfig config=RequestConfig.custom().setProxy(proxy).build();
		httpGet.setConfig(config);
		
		CloseableHttpResponse closeableHttpResponse=closeableHttpClient.execute(httpGet); //3、執行
		HttpEntity httpEntity=closeableHttpResponse.getEntity(); //4、獲取實體
		
		//System.out.println(httpEntity.toString());
		System.out.println(EntityUtils.toString(httpEntity, "utf-8")); //獲取網頁內容
		
		closeableHttpResponse.close();
		closeableHttpClient.close();
	}
}

  運行如入所示:

技術分享

加入IP失效了,或者我們寫錯了端口號,

那麽會輸出連接失敗信息

技術分享

使用代理IP、高匿IP、連接失敗