日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


curl是一個(gè)命令行下的web客戶端,可以在命令行下執(zhí)行常見(jiàn)的web訪問(wèn)、自動(dòng)web請(qǐng)求等操作,之前的文章中蟲(chóng)蟲(chóng)曾經(jīng)專門介紹過(guò) 。本文我們來(lái)總結(jié)一下curl使用代理服務(wù)器的用法 。

curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


概述curl(cURL)是一個(gè)用于傳輸數(shù)據(jù)的命令行工具,其誕生于20多年前,最早版本是在1998年 。
curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


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 。
curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


Web代理服務(wù)器充當(dāng)客戶端和目標(biāo)服務(wù)器之間的中介 ??蛻舳耸紫仍L問(wèn)代理,然后代理執(zhí)行它并將結(jié)果返回給客戶端 。
curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


有些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) ?;靖袷綖椋?br /> -x, --proxy [protocol://]host[:port]
因此,要使用代理訪問(wèn),可以使用:
curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


其中,代理服務(wù)器的協(xié)議頭,默認(rèn)為http可以省略掉:
【curl高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器】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高級(jí)用法之設(shè)置代理服務(wù)器 網(wǎng)頁(yè)代理服務(wù)器


然后所有,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è)置 。

推薦閱讀