Curl: Cómo enviar encabezados personalizados mientras se usa proxy

Curl: Cómo enviar encabezados personalizados mientras se usa proxy

Quiero enviar encabezados personalizados al host mientras uso servidores proxy. Eche un vistazo a los ejemplos a continuación. Explicar la situación con ejemplos fue más fácil.

Esto funciona bien como se esperaba:

curl https://www.cloudflare.com/

Cuando elijo evitar el uso de DNS dando la dirección IP del host para curl:

curl http://198.41.214.163/

El sitio web me da esta página de error -->

"No se permite el acceso directo a IP.Ha solicitado una dirección IP que forma parte de la red CloudFlare.Se debe proporcionar un encabezado de host válido para llegar al sitio web deseado."


Si proporcionamos el nombre correcto del encabezado del host, volverá a funcionar normalmente sin usar DNS:

curl --header "Host: cloudflare.com" http://198.41.214.163/

Pero cuando hago lo mismo mientras uso un túnel proxy, curl no envía los encabezados al host, por lo que aparece "Acceso IP directo no permitido"error del host:

curl --proxy "http://PROXY_IP:PORT" --header "Host: cloudflare.com" http://198.41.214.163/

¿Cómo puedo superar este problema?

Respuesta1

Este problema debería desaparecer con cURL 7.37.0, que introdujo el --proxy-headerparámetro para especificar encabezados destinados al servidor proxy. Los encabezados proporcionados con -H/ --headerahora se considerarán "solo para el servidor final".

información relacionada