Estou usando o software Charles Web Debugging Proxy para depurar solicitações HTTP. Funciona muito bem com meus navegadores de desktop, Chrome e Firefox e até vê solicitações HTTP que outros programas fazem.
Quando executo Charles e verifico a configuração de rede, acho que entendo como funciona - ele apenas configura um proxy para todas as solicitações HTTP e HTTPS e as atende na porta 8888:
No entanto, o item I não consegue descobrir é que eu não vejo quaisquer pedidos que eu iniciar no terminal, tais como wget
, curl
ou o elinks
browser.
Eu sei que posso especificar o proxy com curl e wget usando 127.0.0.1:8888, mas não entendo se a interface de rede está configurada com um proxy na configuração, por que eu precisaria especificar manualmente o proxy para eles .
Também não consigo fazer com que o BlueCrab (copiadora do site) apareça no Charles - e não vejo uma configuração de proxy para ele - embora eu acredite que esteja usando um wrapper do XWindow ou algo assim (portanto, não é realmente um nativo Aplicativo Cacau / Carbono):
Como posso obter todas as solicitações HTTP no meu sistema para executar através do Charles?
Esclarecimento
A minha pergunta é sobre os fundamentos do sistema de por onda e wget não iria usar um proxy quando a interface de rede foi configurado para usar um mais do que perguntar sobre a sintaxe correta para curl
, wget
, etc.
fonte do wget behind proxy (pode ser necessário criar o arquivo rc)
Adicione a seguinte linha:
enrolar atrás da fonte de proxy
Adicione a seguinte linha:
elinks atrás da fonte de proxy
Encontre seu
elinks.conf
arquivo com:Adicione a seguinte linha:
Não tenho certeza sobre BlueCrab
fonte
O motivo pelo qual você não obtém o proxy de todas as solicitações HTTP é porque, no nível do sistema operacional , não existe uma "solicitação HTTP"; existem apenas conexões TCP. Entrar em contato com um proxy HTTP significa alterar um pouco a solicitação HTTP, bem como entrar em contato com o servidor proxy em vez do host nomeado na URL, portanto, isso deve ser feito no código que implementa o envio de solicitações HTTP.
curl e wget têm seu próprio código HTTP, que usa seus próprios arquivos de configuração - eles não foram programados para procurar configurações de proxy onde o Mac OS X os mantém, nem usam as bibliotecas HTTP fornecidas com o Mac OS X que usam esses proxy configurações.
fonte
Se você não quiser tocar em seus arquivos de configuração, usando curl, você pode:
curl http://example.com --proxy 127.0.0.1:8888
fonte