Подтвердить что ты не робот

Curl: прокси-сервер для локального хоста

Я под прокси-сервером, и если я попробую curl http://localhost/mysite или curl http://127.0.0.1/mysite curl попытаться разрешить его с помощью прокси-сервера. Поэтому я попытался с параметром --noproxy, но не работает. Работает нормально для внешних серверов с прокси-сервером как curl http://mysite.com.

Моя конфигурация:

  • Cygwin (bash) под Windows 8 с расширением 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
    

Любая идея, как это исправить?

4b9b3361

Ответ 1

После

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)

Поэтому он четко заявил, что он подключен к локальному хосту.

Ответ 2

использовать

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

чтобы полностью отключить прокси.

или если вы хотите отключить прокси только для адресата abc.com

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

где abc.com - это URL, который вы хотите отправить

Ответ 3

Как говорили некоторые другие, параметры --noproxy - это то, что вы ищете. https://curl.haxx.se/docs/manpage.html#--noproxy

По-видимому, второй запрос, который вы попробовали, получал ответ HTTP 301, поэтому вы, вероятно, также захотите использовать опцию -L для отслеживания перенаправления: https://curl.haxx.se/docs/manpage.html#-L

Вы можете псевдоним curl всегда игнорировать прокси для запросов localhost.

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

Добавьте его в свой .bashrc файл для удобства:

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

Ответ 4

В Windows для работы с локальным хостом работала следующая опция.

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

Ответ 5

Curl ожидает, что порт будет указан с прокси-сервером, это решение сработало для меня

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

Ответ 6

Опция --noproxy должна работать (и, как объяснялись предыдущие ответы), я думаю, что вы должны атаковать ядро ​​проблемы.

Ваш прокси не игнорирует ваш локальный адрес, а не только curl. Idk, если это работает в каждой среде (я довольно новичок в Linux), но если вы используете gnome, это должно сработать. Тип 'env | grep proxy "в терминале, это должно дать вам все настроенные прокси. Важным является" no_proxy". Чтобы добавить запись, откройте "~/.bash_profile" в своем любимом текстовом редакторе и добавьте строку 'No_proxy = $no_proxy,' в конце. Перезагрузите конфигурацию с помощью 'source ~/.bash_profile'. Если вы хотите, чтобы это повлияло на каждого пользователя, измените файл "/etc/profile".

Ответ 7

В качестве обходного пути вы можете просто сбросить переменную http_proxy перед запуском curl без опции --noproxy.

Ответ 8

попробуй ниже, чтобы обойти прокси сервис для локальных ips

export no_proxy=localhost,127.0.0.1