2013-01-11 33 views
8

我希望能夠通過上游代理重定向來自提琴手代碼的http請求,我希望能夠在運行時指定。如何手動設置fiddler核心的上游代理?

我已經查看了FiddlerApplication函數,並且我沒有看到任何可能適合的東西,以及我在文檔中沒有找到任何匹配的內容(除了您可以指定啓動標誌來使用系統代理作爲上游代理)。

在運行時指定/更改fiddler核心代理的最佳方式是什麼?

回答

11

如果要將每個請求發送到代理,並且該代理不是系統的默認值:在發送每個請求之前,請在會話中指定X-OverrideGateway標誌。裏面你BeforeRequest處理程序,添加以下行:

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

-Eric

+0

在這種情況下,我該如何設置代理用戶名和密碼? –

+1

Fiddler不會(通常)以您的名義自動向代理進行身份驗證;相反,核心應用程序可以這樣做。如果代理正在使用HTTP BASIC身份驗證,則可以直接添加自己的代理授權標頭。 – EricLaw

+0

如果您確實希望Fiddler響應auth代理,請參閱http://blogs.msdn.com/b/fiddler/archive/2011/09/04/fiddler-http-401-authentication-workaround-to-support- channel-binding-tokens-removing-endless-prompts.aspx的過程。 – EricLaw

2

由於EricLaw在他的回答但如果你想要做一個,你必須對會話指定X-OverrideGateway標誌,說基本的HTTP認證到上游代理,你可以通過添加代理授權頭會話您BeforeRequest處理程序中一樣,

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

設置憑據這裏的HTTP頭字段列表 https://en.wikipedia.org/wiki/List_of_HTTP_header_fields