統合 · 初心者

プロキシを介した cURL: 重要なすべてのオプションと例

cURL は、プロキシが機能し、すべてのライブラリが模倣する参照であることを証明する最速の方法です。 5 つのプロキシ フラグを学習すると、任意のクライアントをデバッグできます。

2 分で読めます 6セクション 確認日 編集チーム Proxy Cyber

ワンライナー#

最初のリクエスト
curl -x http://USER-cc-us:PASS@res.proxy-cyber.com:9000 https://api.ipify.org

-x (または --proxy) は、資格情報が埋め込まれたプロキシ URL を受け取ります。 cURL は、CONNECT を使用して HTTPS 宛先を自動的にトンネリングし、プロキシにホスト名を解決するように要求します。

知っておく価値のあるフラグ#

旗目的
-x、--proxy URLプロキシ: スキーム、ホスト、ポート、オプションの資格情報
-U、--proxy-user ユーザー:パス認証情報を個別に表示。パスワードに特殊文字が含まれている場合に便利
--プロキシ-基本基本プロキシ認証を強制する (パスワードが指定された場合のデフォルト)
-vCONNECT 交換、プロキシ ステータス コード、および応答ヘッダーを表示します。
--noproxy '*'この呼び出しではプロキシ環境変数を無視します
-w '%{time_total}\n'比較終了の印刷タイミング

SOCKS5 とリモート DNS#

靴下5h
# Hostname resolved at the exit (recommended)
curl -x socks5h://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

# Hostname resolved locally, then the IP is sent to the proxy (leaks the lookup)
curl -x socks5://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

環境変数#

cURL をシェルアウトするツールやその他多くのツールは、 http_proxy, https_proxy そして no_proxy。作業セッション中にそれらを 1 回エクスポートします。

シェル
export https_proxy="http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
export http_proxy="$https_proxy"
export no_proxy="localhost,127.0.0.1"
curl https://api.ipify.org   # proxied without -x

Reading a failure#

冗長
curl -v -x http://USER:WRONG@res.proxy-cyber.com:9000 https://api.ipify.org 2>&1 | grep -E "CONNECT|HTTP/1.1 4|HTTP/1.1 5"
# < HTTP/1.1 407 Proxy Authentication Required  -> credentials
# < HTTP/1.1 400 Bad Request                    -> a username parameter is wrong
# < HTTP/1.1 502 Bad Gateway                    -> no exit for that location; widen it

CONNECT ラインのステータスはゲートウェイから取得されます。その後のステータス Connection established 目的地から来ます。の エラーページ すべてのゲートウェイ コードをマップします。

ループ内のセッションのローテーション#

バッシュ
for i in $(seq 1 5); do
  curl -s -x "http://USER-cc-us-sid-run$i-ttl-5m:PASS@res.proxy-cyber.com:9000" https://api.ipify.org
  echo
done   # five different United States exits, each reusable for five minutes under its id

人々が尋ねる質問#

cURL にはプロキシ経由の HTTPS 用の特別なフラグが必要ですか?

いいえ。 http:// プロキシ URL を使用すると、cURL は https:// 宛先に対して CONNECT を自動的に発行します。 --proxytunnel は、プレーン HTTP でトンネルを強制する場合にのみ重要です。

パスワードに @ または : が含まれているため、cURL が失敗します。

認証情報を URL に埋め込む代わりに -U user:pass を使用して渡すか、特殊文字を URL エンコードします。

あなたのアカウント

1 つのアカウントでプロキシを管理

1 つのダッシュボードからネットワークを比較し、注文し、残高とサポート リクエストを追跡します。私たちのチームが支払いを確認し、配達後に接続の詳細を提供します。

アカウント作成