2013-01-11 20 views
8

Chciałbym móc przekierować żądania http z kodu skrzypka do serwerów proxy, które chcę móc określić w środowisku wykonawczym.Jak ręcznie ustawić proxy pośredniczące dla rdzenia skrzypka?

Przeglądałem funkcje FiddlerApplication i nie widzę niczego, co mogłoby pasować, a także nie znalazłem niczego pasującego w dokumentacji (z wyjątkiem tego, że możesz określić flagę uruchamiania, aby użyć proxy systemu jako serwer proxy).

Jaki jest najlepszy sposób określenia/zmiany serwera proxy rdzenia w czasie wykonywania?

Odpowiedz

11

Jeśli chcesz wysłać każde żądanie do serwera proxy, a ten serwer proxy nie jest domyślnym systemem: Przed wysłaniem każdego żądania określ flagę X-OverrideGateway na sesji. Wewnątrz obsługi BeforeRequest, dodać następujący wiersz:

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

-Eric

+0

w tym przypadku, jak ustawić nazwę użytkownika i hasło serwera proxy? –

+1

Fiddler nie (ogólnie) uwierzytelnia się automatycznie w twoim imieniu; zamiast tego aplikacja rdzeniowa może to zrobić. Jeśli proxy używa uwierzytelniania HTTP BASIC, możesz bezpośrednio dodać własny nagłówek autoryzacji serwera proxy. – EricLaw

+0

Jeśli chcesz, aby Fiddler odpowiedział na autoryzowany serwer proxy, zobacz http://blogs.msdn.com/b/fiddler/archive/2011/09/04/fiddler-http-401-authentication-workaround-to-support- channel-binding-tokens-removal-endless-prompts.aspx dla procedury. – EricLaw

2

Jak EricLaw powiedział w swojej odpowiedzi, że trzeba określić X-OverrideGateway flagę na sesji, chociaż jeśli chcesz zrobić podstawowe uwierzytelnianie HTTP proxy upstream można ustawić poświadczenia dodając nagłówek Proxy-Authorization do sesji wewnątrz uchwytu BeforeRequest jak ten

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

lista pól nagłówka HTTP https://en.wikipedia.org/wiki/List_of_HTTP_header_fields