2013-01-11 6 views
8

Ich möchte in der Lage sein, HTTP-Anfragen von Fiddler-Code durch Upstream-Proxys umzuleiten, die ich zur Laufzeit angeben kann.Wie man den Upstream-Proxy für den Fiddler-Core manuell einstellt?

Ich habe durch FiddlerApplication Funktionen geschaut, und ich sehe nichts, was passen könnte, und ich habe nichts passendes in der Dokumentation gefunden (außer dass Sie ein Start-Flag angeben können, um den Proxy des Systems zu verwenden Upstream-Proxy).

Was ist der beste Weg, Fiddler-Core-Proxy zur Laufzeit anzugeben/zu ändern?

Antwort

11

Wenn Sie jede Anforderung an einen Proxy senden möchten und dieser Proxy nicht der Standardwert des Systems ist: Bevor jede Anforderung gesendet wird, geben Sie in der Sitzung das Flag X-OverrideGateway an. In Ihrem BeforeRequest Handler, fügen Sie die folgende Zeile:

oSession["X-OverrideGateway"] = "someProxy:1234"; 

-Eric

+0

In diesem Fall, wie Proxy-Benutzername und Kennwort festlegen? –

+1

Fiddler authentifiziert sich (allgemein) nicht automatisch für Proxies in Ihrem Namen; stattdessen kann die Kernanwendung dies tun. Wenn die Proxys die HTTP BASIC-Authentifizierung verwenden, können Sie Ihren eigenen Proxy-Authorization-Header direkt hinzufügen. – EricLaw

+0

Wenn Sie möchten, dass Fiddler auf den Auth-Proxy antwortet, lesen Sie http://blogs.msdn.com/b/fiddler/archive/2011/09/04/fiddler-http-401-authentication-workaround-to-support- channel-binding-tokens-removing-endless-prompts.aspx für die Prozedur. – EricLaw

2

Als EricLaw in seiner Antwort gesagt haben, dass Sie X-OverrideGateway Flagge auf der Session angeben müssen, obwohl, wenn Sie ein tun wollen grundlegende HTTP-Authentifizierung an die Upstream-Proxy können Sie die Anmeldeinformationen festgelegt durch den Proxy-Authorization-Header, um die Sitzung in Ihrem BeforeRequest Handler wie die

string userCredentials = string.Format("{0}:{1}", "user", "password"); 
string base64UserCredentials = Convert.ToBase64String(Encoding.UTF8.GetBytes(userCredentials)); 
oSession.RequestHeaders["Proxy-Authorization"] = "Basic " + base64UserCredentials; 

Hier ist eine Liste der HTTP-Header-Felder hinzufügen https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

Verwandte Themen