Curl: Como enviar cabeçalhos personalizados ao usar proxy

Curl: Como enviar cabeçalhos personalizados ao usar proxy

Quero enviar cabeçalhos personalizados para o host enquanto uso proxies. Dê uma olhada nos exemplos abaixo. Explicar a situação com exemplos foi mais fácil.

Isso funciona bem como esperado:

curl https://www.cloudflare.com/

Quando opto por evitar o uso de DNS, fornecendo o endereço IP do host para curl:

curl http://198.41.214.163/

O site me dá esta página de erro ->

"Acesso IP direto não permitido.Você solicitou um endereço IP que faz parte da rede CloudFlare.Um cabeçalho Host válido deve ser fornecido para chegar ao site desejado."


Se fornecermos o nome correto do cabeçalho do host, ele funcionará normalmente novamente sem usar DNS:

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

Mas quando faço o mesmo ao usar um túnel proxy, o curl não envia os cabeçalhos para o host, então recebo "Acesso IP direto não permitido"erro do host:

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

Como posso superar esse problema?

Responder1

Esse problema deve desaparecer com o cURL 7.37.0, que introduziu o --proxy-headerparâmetro para especificar cabeçalhos destinados ao servidor proxy. Os cabeçalhos fornecidos com -H/ --headerserão vistos como "somente servidor final" agora.

informação relacionada