Como posso executar TODAS as solicitações HTTP através do Charles Web Debugging Proxy - incluindo as da linha de comando?

22

Estou usando o software Charles Web Debugging Proxy para depurar solicitações HTTP. Ele funciona muito bem com meus navegadores de desktop, Chrome e Firefox, e até mesmo 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, em seguida, escuta essas na porta 8888:

Noentanto,oitemquenãoconsigodescobriréquenãovejosolicitaçõesqueeuinicienoTerminal,comowget,curlouonavegadorelinks.

Euseiquepossoespecificaroproxycomcurlewgetusando127.0.0.1:8888,masnãoentendoseainterfacederedeestáconfiguradacomumproxynaconfiguração,porqueeuprecisariaespecificarmanualmenteproxyparaeles.

TambémnãoconsigoqueoBlueCrab(websitecopier)apareçaemCharlestambém-enãovejoumaconfiguraçãodeproxyparaele-emboraeuacreditequeeleestejausandoumwrapperXWindowoualgoassim(porissonãoérealmenteumaplicativonativodecacau/carbono):

Como posso fazer com que todas as solicitações HTTP no meu sistema sejam executadas no Charles?

Esclarecimento

Minha pergunta é sobre os fundamentos do sistema de porque curl e wget não usariam um proxy quando a interface de rede estava configurada para usar mais um do que perguntar sobre a sintaxe correta para curl , wget , etc.

    
por cwd 09.03.2012 / 22:03

4 respostas

3

VPN criaria um novo dispositivo de rede, você pode vê-lo no comando ifconfig e, em seguida, rotear toda a rede do sistema para esse dispositivo, você pode ver a rota usar o comando route .

Mas o Proxy HTTP (neste caso, o Charles) é diferente, basta abrir uma porta, para usá-lo, você deve especificar a configuração do aplicativo para usar essa porta para materiais HTTP. e, como a resposta de Kevin Reid, curl , wget etc não leu as configurações do sistema do OS X.

Se o seu proxy for SOCKS (Charles suporta HTTP e SOCKS), você pode usar ProxyChains ou tsocks para aplicativo não suporta configuração de proxy .

por exemplo:

$ proxychains git clone https://github.com/rofl0r/proxychains-ng
    
por 10.03.2012 / 06:33
16

wget atrás do proxy (você pode ter que criar o arquivo rc) origem

'$ vim ~/.wgetrc'

Adicione a seguinte linha:

http_proxy=http://127.0.0.1:8888

curl behind proxy source

$ vim ~/.curlrc

Adicione a seguinte linha:

proxy = 127.0.0.1:8888

elinks behind proxy fonte

Encontre seu arquivo elinks.conf com:

sudo find / -name elinks.conf

Adicione a seguinte linha:

protocol.http.proxy.host "127.0.0.1:8888"

Não tenho certeza sobre o BlueCrab

    
por 09.03.2012 / 22:40
9

A razão por que você não apenas obtém o proxy de todas as solicitações HTTP é porque no nível sistema operacional , não existe uma "solicitação HTTP" ; existem apenas conexões TCP. Entrar em contato com um proxy HTTP significa alterar ligeiramente 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 estão usando as bibliotecas HTTP fornecidas com o Mac OS X use essas configurações de proxy.

    
por 10.03.2012 / 04:44
4

Se você não quiser tocar nos seus arquivos de configuração, use o curl que você pode fazer:

curl http://example.com --proxy 127.0.0.1:8888

    
por 29.07.2016 / 17:35