回答:
curlは環境変数からプロキシアドレスを読み込んでおりhttp_proxy
、変数はその値を保持する必要があると思います。次に、bashなどのシェルでexport http_proxy='';
、コマンド(またはシェルスクリプト)が一時的にその値を変更する前に。
(ENVIRONMENT
見出しの下にあるすべての変数については、curlのマニュアルを参照してください。)
unset http_proxy
あなたcurl
が少なくともバージョン7.19.4
である場合は、--noproxy
フラグを使用することができます。
curl --noproxy "*" http://www.stackoverflow.com
以下からのマニュアル。
--noproxy
古いcurlバージョン(Centos / RHEL 5.xで使用されているものなど)ではこのオプションを使用できないと思います
--noproxy 127.0.0.1
は、stackoverflow.comがlocalhostで実行されている場合でした。
http_proxyおよびhttps_proxy環境変数を設定したため、同じ問題に遭遇しました。しかし、時々、別のネットワークに接続していて、一時的にプロキシをバイパスする必要があります。(環境変数を変更せずに)これを行う最も簡単な方法は次のとおりです。
curl --noproxy '*' stackoverflow.com
マニュアルから:「唯一のワイルドカードは単一の*文字であり、すべてのホストに一致し、プロキシを効果的に無効にします。」
*文字は引用符で囲まれているため、シェルによって誤って展開されることはありません。
curl --noproxy "*" stackoverflow.com
プロキシ設定を.curlrcに追加します
proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1
これにより、すべての開発ドメインとローカルマシンのリクエストでプロキシが無視されます。
.
。
ロングショットですが、プロキシを ""(空の文字列)に設定してみてください。これにより、manページに従ってプロキシ設定をオーバーライドする必要があります。
$no_proxy
env変数(小文字)を使用する必要があります。例については、https://wiki.archlinux.org/index.php/proxy_settingsを参照してください。
また、長い間http://sourceforge.net/p/curl/bugs/185/の curlにバグがありましたが、このバグを含む古いcurlバージョンを使用している可能性があります。
まず、現在のプロキシ設定を
env | sort | less
(のようなものにする必要がありますhttp_proxy=http://wpad.local.machine.location:port number
)
それから設定してみました
export http_proxy=";"
これはこのエラーメッセージを出しました:
curl: (5) Couldn't resolve proxy ';'
試しました
export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55
そしてそれはうまくいった!
PS!http-proxyを元の設定に戻すことを忘れないでください
export http_proxy=http://wpad.local.machine.location:port number
私が持っているhttp_proxy
とhttps_proxy
定義されています。これらの環境の設定を解除して再度設定したくありませんが --noproxy '*'
、私にとっては完全に機能します。
curl --noproxy '*' -XGET 172.17.0.2:9200
{
"status" : 200,
"name" : "Medusa",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.5.0",
"build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92",
"build_timestamp" : "2015-03-23T14:30:58Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
私の場合(macos、curl 7.54.0
)、私は以下のプロキシセットを持っています~/.bash_profile
$ env |grep -i proxy |cut -d = -f1|sort
FTP_PROXY
HTTPS_PROXY
HTTP_PROXY
NO_PROXY
PROXY
ftp_proxy
http_proxy
https_proxy
no_proxy
不明な理由で、このバージョンのcurl
環境変数を持つことができない仕事NO_PRXY
とno_proxy
適切には、その後、私は両方になるまで、プロキシ環境変数を一つずつの設定を解除HTTPS_PROXY
してhttps_proxy
。
unset HTTPS_PROXY
unset https_proxy
動作を開始し、内部URLに接続できます
したがって、一時的な解決策として環境内にある場合は、すべてのプロキシ変数を設定解除することをお勧めします。
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
"no_proxy"(小文字)環境変数を設定するまで、私のカールはUbuntu 12.04のプロキシを無視していませんでした。--noproxyオプションは使用できませんでした。