Pregunta

¿Cómo hago que curl ignore el proxy? La configuración de $ NO_PROXY no parece funcionar para mí.

¿Fue útil?

Solución

Supongo que curl está leyendo la dirección proxy de la variable de entorno http_proxy y que la variable debe mantener su valor. Luego, en un shell como bash, export http_proxy = ''; antes de que un comando (o en un script de shell) cambie temporalmente su valor.

(Consulte el manual de curl para todas las variables que observa, bajo el encabezado ENVIRONMENT )

Otros consejos

Si su curl es al menos la versión 7.19.4 , solo puede usar la marca --noproxy .

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

Desde el manual .

Me encontré con el mismo problema porque configuré las variables de entorno http_proxy y https_proxy. Pero ocasionalmente, me conecto a una red diferente y necesito pasar por alto el proxy temporalmente. La forma más sencilla de hacerlo (sin cambiar las variables de entorno) es:

curl --noproxy '*' stackoverflow.com

En el manual: " El único carácter comodín es un solo * carácter, que coincide con todos los hosts y desactiva el proxy de forma efectiva. "

El carácter * se cita para que el shell no lo expanda erróneamente.

Plano general, pero intenta configurar el proxy en " " (cadena vacía) que debería reemplazar cualquier configuración de proxy de acuerdo con la página del manual.

Primero, enumeré la configuración de proxy actual con

env | sort | less

(debería ser algo como http_proxy = http: //wpad.local.machine.location: número de puerto )

Luego traté de configurar

export http_proxy=";" 

que dio este mensaje de error:

curl: (5) Couldn't resolve proxy ';'

Intentado

export http_proxy="" && curl http://servername:portnumber/destinationpath/ -d 55

y funcionó!

PS! Recuerde que debe volver a establecer la configuración original de http-proxy con

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

Tengo http_proxy y https_proxy están definidos. No quiero volver a configurar y configurar esos entornos pero --noproxy '*' funciona perfectamente para mí.

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

Esto funciona bien, establece la cadena de proxy en " "

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

Debería usar la variable env $ no_proxy (en minúsculas). Consulte https://wiki.archlinux.org/index.php/proxy_settings para obtener ejemplos. .

También, hubo un error en el rizo hace mucho tiempo http://sourceforge.net/ p / curl / bugs / 185 / , quizás estés usando una versión antigua de rizo que incluye este error.

Agregue sus preferencias de proxy en .curlrc

proxy = 1.2.3.4
noproxy = .dev,localhost,127.0.0.1

Esto hace que todos los dominios de desarrollo y la solicitud de la máquina local ignoren el proxy.

Lame response pero: recuerde asegurarse de que no haya ningún proxy configurado en un archivo ~ / .curlrc (...).

En mi caso (macos, curl 7.54.0 ), tengo debajo el conjunto de proxy con ~/.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

Por razones desconocidas, esta versión de curl no funciona con las variables de entorno NO_PRXY y no_proxy correctamente, luego desactivo el entorno proxy las variables una por una, hasta tanto a HTTPS_PROXY y https_proxy .

unset HTTPS_PROXY
unset https_proxy

comienza a funcionar y puede conectarse a las URL internas

Por lo tanto, recomendaría desactivar todas las variables proxy si tiene una solución temporal en su entorno.

unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY

Mi rizo no ignoraba el proxy en Ubuntu 12.04 hasta que configuré el " no_proxy " Variable de entorno (en minúsculas). La opción --noproxy no estaba disponible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top