Próbuję zrobić Fiddler praca z RestSharp czarownica używa System.Http.WebProxy
, więc chcę go ustawić na localhost:8888
lub 127.0.0.1:8888
Jak sprawić, by System.Net.WebProxy nie ominął lokalnych adresów URL?
Oto kod:
var webProxy = new WebProxy(new Uri("http://127.0.0.1:8888"))
{
BypassProxyOnLocal = false
};
var bypassed = webProxy.IsBypassed(new Uri("http://127.0.0.1"));
Console.WriteLine(bypassed);
Wyjścia: prawda
MSDN określa:
Metoda jest używana do określenia, czy należy ominąć serwer proxy podczas uzyskiwania dostępu do zasobu internetowego.
Właściwości BypassProxyOnLocal i BypassList kontrolują wartość zwracanej wartości metody IsBypassed.
IsBypassed powraca prawda pod którykolwiek z następujących warunków:
Jeśli BypassProxyOnLocal jest prawda i gospodarz jest lokalnym URI. Żądania lokalne są identyfikowane przez brak kropki (.) W identyfikatorze URI, tak jak w "http: // webserver /".
Jeśli host pasuje do wyrażenia regularnego w BypassList.
Jeśli adres ma wartość zerową.
wszystkich innych warunkach powrotu fałszywy.
Nie rozumiem, dlaczego w moim przypadku zwraca true, czy to błąd? Jak to działa? Dzięki!
Jako lekką modyfikację tego, co sugeruje Fiddler: jeśli użyjesz 'oSession.hostname =" localhost "', to zachowa twój numer portu, zamiast zmienić go na 8081. –
(Zwróć uwagę na użycie 'oSession.hostname' zamiast z 'oSession.host') –