Ich verwende die Charles Web Debugging Proxy-Software zum Debuggen von HTTP-Anforderungen. Es funktioniert hervorragend mit meinen Desktop-Browsern, Chrome und Firefox, und es werden sogar HTTP-Anforderungen von anderen Programmen angezeigt.
Wenn ich Charles starte und die Netzwerkkonfiguration überprüfe, verstehe ich, wie es funktioniert. Es wird lediglich ein Proxy für alle HTTP- und HTTPS-Anforderungen eingerichtet und dann auf Port 8888 nach diesen gesucht:
Doch der Artikel , den ich nicht herausfinden kann, ist , dass ich keine Anfragen sehen , dass ich auf dem Terminal initiieren, wie wget
, curl
oder den elinks
Browser.
Ich weiß, dass ich den Proxy mit curl und wget mithilfe von 127.0.0.1:8888 angeben kann, aber ich verstehe nicht, ob die Netzwerkschnittstelle mit einem Proxy in der Konfiguration eingerichtet ist, weshalb ich den Proxy für sie manuell angeben muss .
Außerdem kann ich BlueCrab (Website-Kopierer) nicht dazu bringen, in Charles angezeigt zu werden - und ich sehe keine Proxy-Einstellung dafür - obwohl ich glaube, dass es einen XWindow-Wrapper oder etwas anderes verwendet (es ist also nicht wirklich ein Muttersprachler) Kakao / Kohlenstoff App):
Wie kann ich erreichen, dass alle HTTP-Anforderungen auf meinem System über Charles ausgeführt werden?
Klärung
Meine Frage ist , über die Systemgrundlagen, warum curl und wget nicht einen Proxy verwenden , wenn die Netzwerkschnittstelle wurde eingerichtet , um ein mehr zu verwenden , so als etwa die korrekte Syntax fragen curl
, wget
usw.
wget hinter proxy (möglicherweise müssen sie die rc datei erstellen) quelle
Fügen Sie die folgende Zeile hinzu:
Curl hinter Proxy- Quelle
Fügen Sie die folgende Zeile hinzu:
verbirgt sich hinter der Proxy- Quelle
Finden Sie Ihre
elinks.conf
Datei mit:Fügen Sie die folgende Zeile hinzu:
Ich bin mir nicht sicher über BlueCrab
quelle
Der Grund, warum Sie nicht nur alle HTTP-Anforderungen als Proxy erhalten, liegt darin, dass es auf Betriebssystemebene keine "HTTP-Anforderung" gibt. Es gibt nur TCP-Verbindungen. Wenn Sie sich mit einem HTTP-Proxy in Verbindung setzen, müssen Sie die HTTP-Anforderung geringfügig ändern und den Proxy-Server anstelle des in der URL genannten Hosts kontaktieren. Dies muss in dem Code erfolgen, der das Senden von HTTP-Anforderungen implementiert.
curl und wget haben einen eigenen HTTP-Code, der ihre eigenen Konfigurationsdateien verwendet. Sie wurden weder so programmiert, dass sie nach Proxy-Einstellungen suchen, in denen sie von Mac OS X gespeichert werden, noch verwenden sie die mit Mac OS X bereitgestellten HTTP-Bibliotheken, die diesen Proxy verwenden die Einstellungen.
quelle
Wenn Sie Ihre Konfigurationsdateien nicht berühren möchten, können Sie mit curl Folgendes tun:
curl http://example.com --proxy 127.0.0.1:8888
quelle