日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

(四)HttpClient 使用代理 IP

發布時間:2023/12/19 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 (四)HttpClient 使用代理 IP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一節: HttpClient 使用代理 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;

那代理IP 從哪里搞呢 很簡單 百度一下,你就知道 一大堆代理IP站點。 一般都會給出一些免費的,但是花點錢搞收費接口更加方便;

比如http://www.66ip.cn/

httpClient使用代理IP代碼:

 1 package com.javaxk.httpclient.chap04;
 2 
 3 import org.apache.http.HttpEntity;
 4 import org.apache.http.HttpHost;
 5 import org.apache.http.client.config.RequestConfig;
 6 import org.apache.http.client.methods.CloseableHttpResponse;
 7 import org.apache.http.client.methods.HttpGet;
 8 import org.apache.http.impl.client.CloseableHttpClient;
 9 import org.apache.http.impl.client.HttpClients;
10 import org.apache.http.util.EntityUtils;
11 
12 public class Demo1 {
13     
14     public static void main(String[] args)throws Exception {
15         CloseableHttpClient httpClient=HttpClients.createDefault(); // 創建httpClient實例
16         HttpGet httpGet=new HttpGet("https://www.taobao.com/"); // 創建httpget實例
17         HttpHost proxy=new HttpHost("178.32.213.128", 80);    
18         RequestConfig requestConfig=RequestConfig.custom().setProxy(proxy).build();    //代理ip
19         httpGet.setConfig(requestConfig);    //設置代理ip
20         httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");
21         CloseableHttpResponse response=httpClient.execute(httpGet); // 執行http get請求
22         HttpEntity entity=response.getEntity(); // 獲取返回實體
23         System.out.println("網頁內容:"+EntityUtils.toString(entity, "utf-8")); // 獲取網頁內容
24         response.close(); // response關閉
25         httpClient.close(); // httpClient關閉
26     }
27 
28 }

建議大家用國內代理IP 以及主干道網絡大城市的代理IP 訪問速度快;

總結

以上是生活随笔為你收集整理的(四)HttpClient 使用代理 IP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。