怎樣使用代理服務(wù)器 代理服務(wù)器使用方法
2022-10-13 15:44:17 閱讀(146)
curl是一個(gè)命令行下的web客戶端,可以在命令行下執(zhí)行常見(jiàn)的web訪問(wèn)、自動(dòng)web請(qǐng)求等操作,下面小編就給大家來(lái)詳細(xì)介紹一下怎樣使用代理服務(wù)器 代理服務(wù)器使用方法這一塊的相關(guān)內(nèi)容,希望能幫助到大家。
怎樣使用代理服務(wù)器
curl(cURL)是一個(gè)用于傳輸數(shù)據(jù)的命令行工具,其誕生于20多年前,最早版本是在1998年。
curl支持以多種方式檢索和發(fā)送數(shù)據(jù),并輸出到標(biāo)準(zhǔn)輸出,可以無(wú)縫銜接標(biāo)準(zhǔn)unix管道使用。在絕大多數(shù)的*nix操作系統(tǒng)上都默認(rèn)安裝。curl支持各種協(xié)議,包括 HTTP/HTTPS、FTP和SCP。
Web代理服務(wù)器充當(dāng)客戶端和目標(biāo)服務(wù)器之間的中介??蛻舳耸紫仍L問(wèn)代理,然后代理執(zhí)行它并將結(jié)果返回給客戶端。
有些Web站點(diǎn)是有限制的,我們無(wú)法直接通過(guò)當(dāng)前IP直接訪問(wèn)目標(biāo)站點(diǎn);還有一些站點(diǎn)對(duì)訪問(wèn)請(qǐng)求是有一定限制,而我們?cè)谡?qǐng)求數(shù)據(jù)時(shí)候?yàn)榱苏?qǐng)求速度也需要突破IP限制。通過(guò)使用代理服務(wù),我們就可以突破上述限制。
curl代理設(shè)置
為演示需要,本文中示例中使用的代理將設(shè)置為本地機(jī)器上,使用端口5000。默認(rèn)情況下,代理語(yǔ)句中唯一需要的部分是主機(jī),默認(rèn)端口80。我們將通過(guò)HTTP將數(shù)據(jù)傳輸?shù)剿?,我們將明確指定完整性。為了方便,我們請(qǐng)求服務(wù)為httpbin。 Httpbin是一個(gè)開(kāi)源的標(biāo)準(zhǔn)http服務(wù)顯示,在請(qǐng)求/ip接口時(shí)候可以查看請(qǐng)求IP地址。
方法一:命令行參數(shù)
使用代理的第一個(gè)也是最簡(jiǎn)單的選項(xiàng)是使用命令行參數(shù)。Curl代理參數(shù)為-x(或者--proxy)。基本格式為:
-x, --proxy [protocol://]host[:port]
因此,要使用代理訪問(wèn),可以使用:
其中,代理服務(wù)器的協(xié)議頭,默認(rèn)為http可以省略掉:
curl -x 127.0.0.1:5000 httpbin/ip
身份驗(yàn)證
此外,如果HTTP代理服務(wù)器也需要身份驗(yàn)證,可以使用 -U標(biāo)志來(lái)指定它。
curl -U user:password --proxy 127.0.0.1:5000 httpbin/ip
某些代理服務(wù)器可能需要不同的身份驗(yàn)證方案。可以通過(guò)--proxy-anyauth指定curl以確定身份驗(yàn)證方案
curl -U user:password --proxy 127.0.0.1:5000 httpbin/ip --proxy-anyauth
如果認(rèn)證密碼中包含特殊字符,需要對(duì)其添加加上雙引號(hào)("")。
curl -U "user:p@assword" --proxy 127.0.0.1:5000 httpbin/ip
上面命令中直接用密碼容易被泄露并且會(huì)被記錄在history日志中,在命令行中通過(guò)只提供用戶名,然后可以交互式的,根據(jù)curl提示輸入密碼。
curl -U user --proxy 127.0.0.1:5000 httpbin/ip> Enter proxy password for user 'user':
方法二:使用環(huán)境變量
可以使用環(huán)境變量配置實(shí)現(xiàn)curl使用代理服務(wù)器。curl允許通過(guò)設(shè)置變量為它支持的每個(gè)協(xié)議使用環(huán)境變量[scheme]_proxy。如果設(shè)置了這些,那么當(dāng)使用對(duì)應(yīng)協(xié)議時(shí),curl將默認(rèn)引入。對(duì)http和https協(xié)議:
export http_proxy="127.0.0.1:5000"export https_proxy="127.0.0.1:5000"
同樣可以添加認(rèn)證參數(shù):
然后所有,curl http和https請(qǐng)求就會(huì)自動(dòng)使用代理。
與以這種方式設(shè)置的所有環(huán)境變量一樣,這些只是臨時(shí)變量,shell會(huì)話結(jié)束或重新啟動(dòng)系統(tǒng)時(shí)刪除。但是,為了使其在所有會(huì)話中可用,可以將其附加到profile文件中,或者對(duì)于個(gè)人可以在.bashrc 或 .zshrc文件添加,實(shí)現(xiàn)持久化的代理設(shè)置。
方法三:使用別名
配置代理的另一種更持久的方法是shell別名,如果總是需要以這種方式定期連接,這很有用。通過(guò)別名可以cur將調(diào)用替換為使用代理的版本,這其實(shí)和上面的方法二同理。
alias curl="curl -x 127.0.0.1:5000"
方法四:使用.curlrc 配置
其實(shí)curl也支持個(gè)性化的配置參數(shù)配置,配置文件默認(rèn)情況下在個(gè)人目錄 ~/.curlrc(Windows上為 _curlrc),也可以指定其他文件路徑。
在.curlrc配置文件中添加代理支持的方法為:
proxy = "http://127.0.0.1:5000"
實(shí)例:使用curl 提取網(wǎng)頁(yè)的標(biāo)題
最后舉個(gè)更復(fù)雜的,我們使用unix管道將結(jié)合grep正則提取站點(diǎn)標(biāo)題。
curl curl –silent baidu |grep -Eo ''
--silent參數(shù)可以去掉curl輸出進(jìn)度信息,對(duì)響應(yīng)的內(nèi)容用grep正則表達(dá)式中捕獲標(biāo)題。
上面就是關(guān)于怎樣使用代理服務(wù)器 代理服務(wù)器使用方法的全部?jī)?nèi)容介紹,希望上面的內(nèi)容能幫助到大家啊,更多的關(guān)于代理服務(wù)器的相關(guān)內(nèi)容歡迎咨詢?nèi)f商云集,
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處