在 Linux 上永久設定 cURL 使用代理
cURL 用於向伺服器請求資料並將其傳送到裝置。透過此命令,使用者指定伺服器 URL 和需要傳送到 URL 的資料(請求傳送到的位置)。Curl 適用於 Windows、MacOS 和 Linux,並支援 25 多種協議,包括 SFTP、FTP、HTTPS 和 HTTP。關於 API 呼叫和除錯網路請求,curl 是最好的開源免費工具之一。
“代理”一詞代表“代表他人行動”。同樣,代理伺服器也代表終端使用者行動。
代理伺服器充當網站和使用者之間的中間伺服器,用於傳輸流量。代理隔離終端使用者客戶端瀏覽的網站,並提供多層安全性和功能。使用代理伺服器時,網際網路上的所有請求首先到達此伺服器,然後由其進行評估。
根據這些規則,它根據需要將請求轉發到網際網路。同樣,伺服器響應會返回到第一個代理,然後由其處理和評估,只有這樣才會傳送給終端使用者。有時,代理伺服器透過使用一系列伺服器來提供更高的網際網路匿名性。
在 Linux 上永久設定 cURL 使用代理
我們將瞭解幾種永久使用 curl 設定代理的方法。
透過命令列引數(臨時解決方案)
您可以使用簡單的命令列引數使用代理。您可以使用命令列過濾 Curl 的幫助文件中的所有代理配置選項。您可以使用以下命令檢視代理設定的文件:
curl --help proxy
執行上述命令後,您將獲得一個命令列表,其中一個命令將是:
-x, --proxy [protocol://]host[:port]
上述命令中的“x”區分大小寫。使用 curl,您可以使用“-x”或“--proxy”來提供代理詳細資訊。
curl -x "[protocol://]host[:port]"
或者,
curl --proxy "[protocol://]host[:port]"
注意 - 目標 URL 和代理 URL 用雙引號括起來。
透過環境變數
Curl 支援為每個協議設定環境變數 [scheme]_proxy。使用 http_proxy(環境變數),您可以設定 curl 以訪問代理伺服器。因此,您必須使用 export 命令設定此變數:
export http_proxy="[protocol://][host][:port]" (access the address that used http protocol) export https_proxy="[protocol://][host][:port]" (access the address that used https protocol)
注意 - 如果您注意到 SSL 證書錯誤,您可以透過向上述命令新增 -k 選項來忽略它們。
curl -x "[protocol://][host][:port]" -k [URL]
匯出環境變數後,curl 命令會在遠端連線期間自動使用上述代理。
curl "http://httpbin.org/ip"
額外提示 - 您可以透過將此變數新增到 shell 配置檔案中使其永久生效。由於我們的預設 shell 是 bash,因此我們將將其新增到“~/.profile”中,如下所示:
http_proxy=http://127.0.0.1:8080
這些變數適用於整個系統。如果不需要此行為,建議您透過取消設定這些變數來關閉全域性代理:
unset http_proxy unset https_proxy
透過別名
使用別名,您可以用另一個別名執行任何系統命令。透過這種方式,用代理命令替換 curl 呼叫。根據您的作業系統,您使用的 shell 檔案與環境變數可能有所不同。
alias curl="curl -x "[protocol://][host][:port]"
重新載入 Shell 後,執行 curl 將透過呼叫我們的別名來使用代理伺服器。
curl https://xyz.com
透過 .curlrc
您需要每次都將代理地址傳遞給 curl。為了避免此問題,您可以建立一個 .curlrc(curl 配置檔案),其中包含許多配置引數。它可以儲存在您的主目錄中。當您啟動 curl 命令時,它會查詢 ~/.curlrc 檔案並載入檔案中所有配置檔案中的選項。
我們可以在 ~/.curlrc 中新增以下行以永久使用代理伺服器。
proxy = "[protocol://][host][:port]"
注意 - 如果 ~/.curlrc 檔案不存在,您可以建立並新增它。
結論
在本文中,我們解釋瞭如何在 Linux 上設定 cURL 以永久使用代理並將所有請求透過代理伺服器傳送到 curl。在這裡,我們研究了幾個永久配置 curl 代理的解決方案。其中推薦使用 curl 配置檔案。此外,您還可以透過其他方法訪問所需資料。