ОТКЛЮЧИТЬ АДБЛОК

ADBlock блокирует некоторый контент на сайте

ADBlock errore

Как сделать так, чтобы curl игнорировал прокси?

StackOverflow https://stackoverflow.com/questions/800805
  •   curl
  •  | 
  •  
  •  | 
  •   ( words)

вопрос

Как заставить curl игнорировать прокси? Установка $ NO_PROXY, похоже, не работает для меня.

Решение

Я предполагаю, что curl читает адрес прокси-сервера из переменной среды http_proxy и что переменная должна сохранять свое значение. Затем в такой оболочке, как bash, export http_proxy = ''; перед командой (или в сценарии оболочки) временно изменит ее значение.

(См. руководство curl для всех переменных, на которые он смотрит, под заголовком ENVIRONMENT .)

ДРУГИЕ СОВЕТЫ

Если ваш curl по крайней мере версии 7.19.4 , вы можете просто использовать флаг - noproxy .

curl --noproxy "*" http://www.stackoverflow.com

Из руководства .

Я столкнулся с той же проблемой, потому что я установил переменные среды http_proxy и https_proxy. Но иногда я подключаюсь к другой сети и мне нужно временно обойти прокси. Самый простой способ сделать это (без изменения переменных среды):

curl --noproxy '*' stackoverflow.com

Из руководства: " Единственный подстановочный знак - это один символ *, который соответствует всем хостам и эффективно отключает прокси. "

Символ * заключен в кавычки, чтобы он не был ошибочно раскрыт оболочкой.

Длинный выстрел, но попробуйте установить прокси на " " (пустая строка), которая должна переопределять любые настройки прокси-сервера в соответствии со страницей руководства.

Сначала я перечислил текущие настройки прокси с помощью

env | sort | less

(должно быть что-то вроде http_proxy = http: //wpad.local.machine.location: номер порта )

Затем я попытался настроить

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"
}

Это прекрасно работает, установите строку прокси на " "

curl -x "" http://www.stackoverflow.com

Вы должны использовать переменную $ no_proxy env (в нижнем регистре). Обратитесь к https://wiki.archlinux.org/index.php/proxy_settings за примерами. .

Также давно была ошибка в curl http://sourceforge.net/ p / curl / bugs / 185 / , возможно, вы используете древнюю версию curl, которая включает эту ошибку.

Добавьте настройки прокси в .curlrc

proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1

Это заставит все домены dev и запрос локального компьютера игнорировать прокси.

Неудачный ответ, но: не забудьте убедиться, что в файле ~ / .curlrc (...) нет прокси-сервера (

).

В моем случае (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

Мой завиток не игнорировал прокси в Ubuntu 12.04, пока я не установил " no_proxy " (строчная) переменная окружения. Параметр --noproxy недоступен.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow