ip地址代理的用法概述 怎么使用代理服務器設置

curl是一個命令行下的web客戶端,可以在命令行下執行常見的web訪問、自動web請求等操作,之前的文章中蟲蟲曾經專門介紹過 。本文我們來總結一下curl使用代理服務器的用法 。

ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
概述curl(cURL)是一個用于傳輸數據的命令行工具,其誕生于20多年前,最早版本是在1998年 。
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
curl支持以多種方式檢索和發送數據,并輸出到標準輸出,可以無縫銜接標準unix管道使用 。在絕大多數的*nix操作系統上都默認安裝 。curl支持各種協議,包括 HTTP/HTTPS、FTP和SCP 。
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
Web代理服務器充當客戶端和目標服務器之間的中介 ??蛻舳耸紫仍L問代理,然后代理執行它并將結果返回給客戶端 。
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
有些Web站點是有限制的,我們無法直接通過當前IP直接訪問目標站點;還有一些站點對訪問請求是有一定限制,而我們在請求數據時候為了請求速度也需要突破IP限制 。通過使用代理服務,我們就可以突破上述限制 。
curl代理設置為演示需要,本文中示例中使用的代理將設置為本地機器上,使用端口5000 。默認情況下,代理語句中唯一需要的部分是主機,默認端口80 。我們將通過HTTP將數據傳輸到它,我們將明確指定完整性 。為了方便,我們請求服務為httpbin 。Httpbin是一個開源的標準http服務顯示,在請求/ip接口時候可以查看請求IP地址 。
方法一:命令行參數使用代理的第一個也是最簡單的選項是使用命令行參數 。Curl代理參數為-x(或者–proxy) ?;靖袷綖椋?br /> -x, --proxy[protocol://]host[:port]
因此,要使用代理訪問,可以使用:
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
其中,代理服務器的協議頭,默認為http可以省略掉:
curl-x127.0.0.1:5000httpbin/ip
身份驗證
此外,如果HTTP代理服務器也需要身份驗證,可以使用 -U標志來指定它 。
curl-Uuser:password--proxy127.0.0.1:5000httpbin/ip
某些代理服務器可能需要不同的身份驗證方案 ??梢酝ㄟ^–proxy-anyauth指定curl以確定身份驗證方案
curl-Uuser:password--proxy127.0.0.1:5000httpbin/ip--proxy-anyauth
如果認證密碼中包含特殊字符,需要對其添加加上雙引號(\”\”) 。
curl-U \"user:p@assword\"--proxy 127.0.0.1:5000httpbin/ip
上面命令中直接用密碼容易被泄露并且會被記錄在history日志中,在命令行中通過只提供用戶名,然后可以交互式的,根據curl提示輸入密碼 。
curl-Uuser--proxy127.0.0.1:5000httpbin/ip>Enterproxypasswordforuser\'user\':
方法二:使用環境變量【ip地址代理的用法概述 怎么使用代理服務器設置】可以使用環境變量配置實現curl使用代理服務器 。curl允許通過設置變量為它支持的每個協議使用環境變量[scheme]_proxy 。如果設置了這些,那么當使用對應協議時,curl將默認引入 。對http和https協議:
exporthttp_proxy=\"127.0.0.1:5000\"exporthttps_proxy=\"127.0.0.1:5000\"
同樣可以添加認證參數:
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
ip地址代理的用法概述 怎么使用代理服務器設置

文章插圖
然后所有,curl http和https請求就會自動使用代理 。
與以這種方式設置的所有環境變量一樣,這些只是臨時變量,shell會話結束或重新啟動系統時刪除 。但是,為了使其在所有會話中可用,可以將其附加到profile文件中,或者對于個人可以在.bashrc 或 .zshrc文件添加,實現持久化的代理設置 。
方法三:使用別名配置代理的另一種更持久的方法是shell別名,如果總是需要以這種方式定期連接,這很有用 。通過別名可以cur將調用替換為使用代理的版本,這其實和上面的方法二同理 。
aliascurl=\"curl-x127.0.0.1:5000\"

推薦閱讀