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

Как заставить curl игнорировать прокси?

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

4b9b3361

Ответ 1

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

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

Ответ 2

Если ваш curl имеет хотя бы версию 7.19.4, вы можете просто использовать флаг --noproxy.

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

Из manual.

Ответ 3

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

curl --noproxy '*' stackoverflow.com

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

Символ * цитируется так, чтобы оболочка не была ошибочно расширена.

Ответ 4

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

Ответ 5

У меня есть 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"
}

Ответ 6

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

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-proxy исходные настройки с помощью

export http_proxy=http://wpad.local.machine.location:port number

Ответ 7

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

proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1

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

Ответ 8

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

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

Ответ 9

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

Ответ 10

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