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



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

1137   11  

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, которая включает в себя эту ошибку.

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

это работает просто отлично, установите строку прокси в""

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

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

Comments

    Ничего не найдено.