11 ответов:
Я предполагаю, что curl читает прокси-адрес из переменной окружения
http_proxyи что переменная должна сохранять свое значение. Тогда в оболочке, как Баш,export http_proxy='';перед тем, как команда (или в сценарии оболочки) временно изменит свое значение.(см. руководство curl для всех переменных, на которые он смотрит, под
ENVIRONMENTзаголовок.)
если
curlэто как минимум версия7.19.4, вы могли бы просто использовать--noproxyфлаг.curl --noproxy "*" http://www.stackoverflow.comС руководство.
я столкнулся с той же проблемой, потому что я установил переменные среды http_proxy и https_proxy. Но иногда я подключаюсь к другой сети и должен временно обойти прокси-сервер. Самый простой способ сделать это (без изменения переменных окружения):
curl --noproxy '*' stackoverflow.comиз руководства: " единственным подстановочным знаком является один символ*, который соответствует всем хостам и эффективно отключает прокси."
символ * заключен в кавычки, так что это не ошибочно расширен оболочкой.
длинный выстрел, но попробуйте установить прокси на "" (пустая строка), которая должна переопределить любые настройки прокси в соответствии с man-страницей.
во-первых, я перечислил текущую настройку прокси с
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-прокси обратно в исходные настройки с помощью
export http_proxy=http://wpad.local.machine.location:port number
у меня есть
http_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" }
добавьте свои настройки прокси-сервера .curlrc
proxy = 1.2.3.4 noproxy = .dev,localhost,127.0.0.1это делает все домены dev и запрос локального компьютера игнорировать прокси.
вы должны использовать
$no_proxyпеременная env (нижний регистр). Пожалуйста, проконсультируйтесь https://wiki.archlinux.org/index.php/proxy_settings Для примера.кроме того, была ошибка в curl давно http://sourceforge.net/p/curl/bugs/185/, Возможно, вы используете древнюю версию curl, которая включает в себя эту ошибку.
мой curl не игнорировал прокси на Ubuntu 12.04, пока я не установил переменную среды "no_proxy" (нижний регистр). Опция --noproxy была недоступна.
Comments