web-dev-qa-db-ja.com

Curl:localhostのプロキシをバイパスします

私はプロキシの下にいます。curl http://localhost/mysiteまたはcurl http://127.0.0.1/mysite curlを試してみると、プロキシで解決しようとしています。そこで、--noproxyオプションを試してみましたが、うまくいきません。プロキシがcurl http://mysite.comである外部サーバーでは正常に動作しています。

私の構成:

  • Curl拡張機能を備えたWindows 8でのCygwin(bash)。
  • プロキシ:proxy.domain.xx:1080認証なし
  • http_proxy=http://proxy.domain.xx:1080
  • ローカルサーバー:XAMPバージョン1.8.0
  • Apacheポート:80,443
  • ブラウザ:Chrome=プロキシを使用しますが、localhostおよび*.devにアクセスするように設定されています]

Curlから--help

--noproxy:プロキシを使用しないホストのカンマ区切りリスト

私が試したもの:

  • ファイアウォールを無効にしましたが、何もありません
  • $ curl -v http://localhost/mysite->デバッグ:

    応答

    Connected to proxy.domain.xx (200.55.xxx.xx) port 1080 (#0)
    GET http://localhost/mysite HTTP/1.1
    User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3
    Host: localhost
    Accept: */*
    Proxy-Connection: Keep-Alive
    The system returned: <PRE><I>(111) Connection refused</I></PRE>
    
  • curl -v --noproxy localhost, http://localhost/muestra

    応答

    About to connect() to localhost port 80 (#0)
    * Trying 127.0.0.1... 
    * Connected to localhost (127.0.0.1) port 80 (#0)
    > GET /mysite HTTP/1.1
    > User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3
    > Host: localhost
    > Accept: */*
    >
    < HTTP/1.1 301 Moved Permanently
    < Server: Apache/2.4.2 (Win32) OpenSSL/1.0.1c PHP/5.4.4
    < Location: http://localhost/mysite
    < Content-Length: 331
    < Content-Type: text/html; charset=iso-8859-1
    

これを修正する方法はありますか?

27
Tom Sarduy

後に

curl -v --noproxy localhost, http://localhost/muestra

カールは応答しました

About to connect() to localhost port 80 (#0)
* Trying 127.0.0.1... 
* Connected to localhost (127.0.0.1) port 80 (#0)

そのため、ローカルホストに接続していることを明確に述べています。

41
Udo Klein

使用する

curl -v --noproxy '*' http://abc.com

プロキシを完全に無効にします。

または、abc.com宛先のみのプロキシを無効にする場合

curl -v --noproxy "abc.com" http://abc.com

ここで、abc.comは行きたいURLです

7
jigar137

他の人が言ったように、--noproxy optionsはあなたが探しているものです。 https://curl.haxx.se/docs/manpage.html#--noproxy

どうやら、あなたが試みた2番目の要求はHTTP 301応答を受信して​​いたため、おそらく-Lリダイレクトに従うオプション: https://curl.haxx.se/docs/manpage.html#-L

Localhostリクエストのプロキシを常に無視するようにcurlをエイリアス化できます。

alias curl='curl --noproxy localhost,127.0.0.1'

便宜上、それを.bashrcファイルに追加します。

echo "alias curl='curl --noproxy localhost,127.0.0.1'" >> ~/.bashrc

4
borlafu

Windowsでは、localhostに接続するために次のオプションが機能しました。

curl --proxy "" --location http://127.0.0.1:898

4
emeralddove

Curlは、このソリューションが私のために働いたプロキシでポートが指定されることを期待しています

export http_proxy = "http:// myproxy:80"

1
Aftab Naveed

ローカルIPのプロキシサービスをバイパスするには、以下を試してください。

export no_proxy=localhost,127.0.0.1
1
Hasitha

回避策として、オプション--noproxyなしでcurlを実行する前に、変数http_proxyの設定を解除することができます。

0
Mssoubri Omar