2016-11-01 5 views
1

Я пытаюсь получить некоторые ресурсы с сайта с помощью простых классов HttpClient и HttpClientHandler. Когда я использую Http, он работает хорошо, но в случае Https это не работает. Следующий код мои настройки:Fiddler не захватывает запросы Https, сделанные HttpClient и HttpClientHandler

 var url="https://www.someurl.com"; 
     var proxy = new WebProxy("127.0.0.1", 8888); 
     WebRequest.DefaultWebProxy = proxy; 

     htmlHandler = new HttpClientHandler(); 

     htmlHandler.UseProxy = true; 
     htmlHandler.Proxy = proxy; 

Я также изменил настройки .exe.config файла и он не работал. Следует отметить, что была показана только одна запись в скрипаче: enter image description here

+0

Https использует переадресацию портов на другой IP-адрес (IP-адрес прокси-сервера). Вероятно, вы включили фильтрацию, чтобы не видеть все данные. – jdweng

+0

Если вы имеете в виду, что фильтрация Fiddler включена, нет, это не так. Я ничего не фильтрую. – user3284331

+0

Вы включили дешифрование HTTPS в параметрах Fiddler? – Robert

ответ

1

Является ли строка Tunnel на картинке ссылкой на сайт, на который клиент .NET пытается отправить трафик? Или это не связано? (Что такое колонка Process?)

Что вы видите на вкладке LOG, когда трафик отправляется в Fiddler?

Наиболее вероятным объяснением является то, что корневому сертификату Fiddler не доверяет учетная запись, в которой выполняется клиентское приложение .NET. Fiddler позволяет вам доверять сертификату Root Fiddler на общесистемной основе, которая позволит решить такие проблемы.

Смежные вопросы