31

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

私の構成:

  • Windows 8 での Cygwin (bash) と curl 拡張機能。
  • プロキシ: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
    

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

4

7 に答える 7

52

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)

したがって、localhostに接続したことが明確に述べられています。

于 2013-02-26T20:44:40.470 に答える
9

使用する

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

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

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

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

abc.com は移動先の URL です

于 2013-06-06T13:47:40.187 に答える
5

他の人が言ったように、--noproxyオプションはあなたが探しているものです。 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

于 2015-04-21T22:19:51.137 に答える