私はこのプロキシアドレスを持っています: 125.119.175.48:8909
のようにcURLを使用してcurl http://www.example.com
、ただしネットワークのプロキシアドレスを指定してHTTPリクエストを実行するにはどうすればよいですか?
私はこのプロキシアドレスを持っています: 125.119.175.48:8909
のようにcURLを使用してcurl http://www.example.com
、ただしネットワークのプロキシアドレスを指定してHTTPリクエストを実行するにはどうすればよいですか?
回答:
一般的な方法:
export http_proxy=http://your.proxy.server:port/
その後、(多くの)アプリケーションからプロキシ経由で接続できます。
そして、以下のコメントのとおり、https:
export https_proxy=https://your.proxy.server:port/
からman curl
:
-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
-x user:password@proxyhost:port
上記の解決策は、自分で試したcurlバージョン(curl 7.22.0)では機能しない場合があります。しかし、私にとってうまくいったのは:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
それが問題をよりよく解決することを願っています!
[1] 4812
HTTP / HTTPSプロキシの代わりにSOCKSプロキシを使用している場合は、代わりに--socks5
スイッチを使用する必要があることに注意してください。
curl --socks5 125.119.175.48:8909 http://example.com/
の--socks5-hostname
代わりに--socks5
を使用して、プロキシ側でDNSを解決することもできます。
--socks5-hostname
うまくいきました。
curl https://api.ipify.org --proxy socks5://189.100.246.182:37339
私にとってはうまくいくようです。--proxy
オプションは、--socks5
socks5プロキシを使用する場合よりも何らかの方法で劣っていますか?
--proxy
今はおそらくあなたが望むものですが、常にサポートされているわけではありませんでした。また、プロキシへの接続前と接続後にそれぞれホスト名(DNS)解決socks5://
をsocks5h://
実行することにも注意してください。
airweenへの追加として、これを.bashrcに追加すると、非プロキシ環境からプロキシ環境に切り替えることができるようになります。
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
YOURPROXY:YOURPORTが正確な場合、IPおよびポートプロキシ:-)。
次に、単に
proxyon
システムはプロキシの使用を開始しますが、その逆は次のようになります。
proxyoff
次を使用
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
プロキシサーバーのIPとポートを配置します。
-v
冗長モードでは、ヘッダーや応答などの詳細が表示されます。
あなたは使うことができます:
curl http://www.example.com --proxy http://125.119.175.48:8909
カールによって説明されるように
私が使用する認証付きのプロキシで:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
なぜなら、curlがhttp [s] _proxy環境変数を使用/キャッチしない理由がわからないからです。
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
これは私にとっては完璧に機能しましたが、curlがプロキシを設定する必要があるためエラーが発生します
プロキシを自分のプロキシに置き換えてください。「例」は http://10.1.1.50:8080/でした。
プロキシがPACファイルで自動プロキシを使用している場合。実際のプロキシは、PAC URLのJavaScriptから見つけることができます。
プロキシが認証を必要とする場合、最初に通常のWebブラウザを使用して、認証ダイアログを促進するWebサイトにアクセスできます。認証後、wiresharkを使用して、httpパッケージからプロキシサーバーに送信されたhttpパッケージをキャプチャできます。httpパッケージから、httpヘッダーから認証トークンを取得できます。Proxy -Authorization
次に、http_proxy環境変数を設定し、httpヘッダーに認証トークンを含めることもできます。Proxy -Authorization
エクスポートhttp_proxy = http:// proxyserver:port
curl -H "Proxy-Authorization:xxxx" http:// targetURL