Configurações de proxy para solicitação HTTP usando libcurl

0

Eu sou relativamente novo em protocolos HTTP envolvendo proxies e autenticação. Eu estou trabalhando em um aplicativo que é executado no Windows e usa a rede host para enviar / receber solicitações HTTP / S. Ele também usa o Libcurl para ajudar na transferência.

No entanto, tenho alguns problemas quando tenho que usar um proxy. Como estou em uma rede, tenho um proxy definido para determinadas URLs com um arquivo PAC. Como o Libcurl não possui suporte a Javascript, eu uso o PACParser para analisar o arquivo PAC e determinar o proxy.

Quando uso o proxy, recebo a autenticação 407 necessária. Não sei como superar a autenticação de proxy. Eu tentei várias configurações disponíveis com CURL como BASIC / DIGEST / NTLM. Nenhum deles parece funcionar. Mas se eu codificar o nome de usuário e a senha na solicitação, vejo a solicitação passar.

Como posso evitar codificar o nome de usuário / senha e garantir que o uso do proxy funcione?

    
por linux developer 16.05.2013 / 14:09

1 resposta

0

Veja libcurl-tutorial (3) , seção Variáveis de ambiente :

libcurl automatically checks and uses a set of environment
variables to know what proxies to use for certain
protocols. The names of the variables are following an
ancient de facto standard and are built up
as "[protocol]_proxy" (note the lower casing). Which makes
the variable 'http_proxy' checked for a name of a proxy to
use when the input URL is HTTP. Following the same rule, the
variable named 'ftp_proxy' is checked for FTP URLs. Again,
the proxies are always HTTP proxies, the different names of
the variables simply allows different HTTP proxies to be
used.

The proxy environment variable contents should be in the
format "[protocol://][user:password@]machine[:port]".

Você precisa inserir o proxy nas configurações da variável de ambiente, não nas configurações de rede.

    
por 16.05.2013 / 14:30