最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RestTemplate使用Proxy代理作為跳板發(fā)送請求

 更新時間:2022年03月17日 12:04:20   作者:字母哥哥  
這篇文章主要為大家介紹了RestTemplate使用代理proxy作為跳板發(fā)送請求的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

前言

本文是精講RestTemplate第10篇,前篇的blog訪問地址如下:

RestTemplate在Spring或非Spring環(huán)境下使用精講

RestTemplate實現(xiàn)多種底層HTTP客戶端類庫的切換用法

RestTemplate發(fā)送HTTP GET請求使用方法詳解

RestTemplate發(fā)送HTTP POST請求使用方法詳解

RestTemplate的DELETE及PUT等請求方法使用精講

RestTemplate文件上傳下載與大文件流式下載

RestTemplate自定義請求失敗異常處理示例解析

RestTemplate請求失敗自動重啟機制精講

RestTemplate如何通過HTTP Basic Auth認證示例說明

本節(jié)我們要為大家介紹一下,如何在使用RestTemplate發(fā)送請求的時候使用代理Proxy。至于為什么要使用代理,給大家舉一個簡單的例子:一些做過爬蟲的同學可能都知道,當爬蟲高頻的多次訪問一個網(wǎng)站數(shù)據(jù),可能導致請求客戶端Ip被封鎖的可能。很多情況下,做爬蟲的企業(yè)就維護一個代理IP池,每發(fā)送一次請求,就更換一次IP。 代理Proxy作為跳板成為服務的直接訪問者,代理使用者(真正的客戶端)是間接訪問服務。這樣在服務端看來,每次請求是代理發(fā)出的,從代理IP池中一直更換代理發(fā)送請求,這樣能夠降低IP封鎖的可能。

我們本節(jié)就來為大家介紹,作為一個代理使用者,該如何使用RestTemplate發(fā)送請求的時候使用代理Proxy。

一、搭建一個代理服務器

筆者只從知識的層面去講解使用方法,所以不做蠅營狗茍的勾當。代理服務器還是由我自己來搭建用來測試,在我的一個CentOS服務器上安裝tinyproxy,tinyproxy可以提供代理服務。

# 安裝tinyproxy 命令
sudo yum install tinyproxy -y

編輯tinyproxy的配置文件vim /etc/tinyproxy/tinyproxy.conf。為該代理配置允許訪問的使用者客戶端ip,也就是我家的ip,所以這個代理服務只能我用,其他人用不了。

# 代理服務端口
Port 1080
# 允許哪個客戶端使用該代理程序?
Allow xxx.xxx.xxx.xxx

啟動tinyproxy提供代理服務,最好檢查一下防火墻是否開放了1080端口。

# 代理服務端口
Port 1080
# 允許哪個客戶端使用該代理程序?
Allow xxx.xxx.xxx.xxx

二、用于測試的服務端

我們這次要訪問的服務端是:http://www.httpbin.org, 這個網(wǎng)站是提供在線的HTTP訪問服務的網(wǎng)站。我們可以用它進行測試。

http://www.httpbin.org/ip是我們本次要訪問的服務,響應結(jié)果是訪問者的IP。

我在家里使用電腦訪問這個服務的時候結(jié)果如下:

上圖沒有使用代理,所以返回的是我家的ip。如果我使用代理訪問,返回結(jié)果應該是proxy代理服務器的ip地址。

三、代理使用者RestTemplate

我的第一小節(jié)中的代理服務器的ip是88.99.10.251,tinyproxy代理服務端口1080。下文代碼通過SimpleClientHttpRequestFactory設(shè)置訪問代理

@SpringBootTest
class ProxyTests {
   @Resource
   private RestTemplate restTemplate;
   @Test
   void testProxyIp() {
      String url = "http://www.httpbin.org/ip";
      SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
      requestFactory.setProxy(
         new Proxy(
            Proxy.Type.HTTP,
            new InetSocketAddress("88.99.10.251", 1080)  //設(shè)置代理服務
         )
      );
      restTemplate.setRequestFactory(requestFactory);
      //發(fā)送請求
      String result = restTemplate.getForObject(url, String.class);
      System.out.println(result);  //打印響應結(jié)果
   }
}

代理類型可以是HTTP也可以是SOCKS。下圖是 "http://www.httpbin.org/ip" 的請求響應結(jié)果,返回的是代理服務器的ip,而不是我家里的ip。說明我們?yōu)镽estTemplate 設(shè)置的代理生效了。

以上就是RestTemplate使用Proxy代理作為跳板發(fā)送請求的詳細內(nèi)容,更多關(guān)于RestTemplate使用Proxy代理發(fā)送請求的資料請關(guān)注腳本之家其它相關(guān)文章!

以上就是RestTemplate使用Proxy代理作為跳板發(fā)送請求的詳細內(nèi)容,更多關(guān)于RestTemplate使用Proxy代理發(fā)送請求的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot整合Mybatis使用Druid數(shù)據(jù)庫連接池

    SpringBoot整合Mybatis使用Druid數(shù)據(jù)庫連接池

    這篇文章主要介紹了SpringBoot整合Mybatis使用Druid數(shù)據(jù)庫連接池,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • java中注解的原理解析

    java中注解的原理解析

    這篇文章主要介紹了java中注解的原理解析,java 注解又稱 Java 標注,是 JDK5.0 引入的一種注釋機制,可以理解為為某個東西,打個標記的記號,等要使用這個注解時,可以通過反射獲取標注里面的內(nèi)容,需要的朋友可以參考下
    2023-10-10
  • JAVA?GUI基礎(chǔ)與MouseListener用法

    JAVA?GUI基礎(chǔ)與MouseListener用法

    這篇文章主要介紹了JAVA?GUI基礎(chǔ)與MouseListener用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java配置context.xml文件的方法圖解

    java配置context.xml文件的方法圖解

    這篇文章主要介紹了java配置context.xml文件的方法圖解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • SpringBoot中使用Zookeeper實現(xiàn)分布式鎖的案例

    SpringBoot中使用Zookeeper實現(xiàn)分布式鎖的案例

    本文主要介紹了SpringBoot中使用Zookeeper實現(xiàn)分布式鎖的案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • MyBatis-Plus中通用枚舉的實現(xiàn)

    MyBatis-Plus中通用枚舉的實現(xiàn)

    表中的有些字段值是固定的此時我們可以使用MyBatis-Plus的通用枚舉來實現(xiàn),本文主要介紹了MyBatis-Plus中通用枚舉的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Java如何從json字符串中獲取某個值詳解

    Java如何從json字符串中獲取某個值詳解

    Java開發(fā)當中經(jīng)常需要Json格式的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java如何從json字符串中獲取某個值的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Java8 Lamda方法引用和構(gòu)造引用原理

    Java8 Lamda方法引用和構(gòu)造引用原理

    這篇文章主要介紹了Java8 Lamda方法引用和構(gòu)造引用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 淺談Spring Data Redis讀不到設(shè)進去的值

    淺談Spring Data Redis讀不到設(shè)進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進去的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 解決java 查看JDK中底層源碼的實現(xiàn)方法

    解決java 查看JDK中底層源碼的實現(xiàn)方法

    本篇文章是對在java中查看JDK中底層源碼的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

关岭| 洛南县| 南丰县| 西青区| 邢台县| 比如县| 文成县| 康保县| 巴中市| 长阳| 永康市| 富民县| 黎城县| 曲靖市| 社旗县| 拉孜县| 绍兴市| 理塘县| 安塞县| 托克逊县| 石屏县| 昭苏县| 顺义区| 泰宁县| 丽江市| 个旧市| 阿合奇县| 金寨县| 苍溪县| 岳普湖县| 昌乐县| 九江市| 宿迁市| 淮南市| 章丘市| 新干县| 江都市| 沧源| 商南县| 双流县| 玉山县|