2015-07-14 3 views
0

код я используюКак я могу использовать WebClient.DownloadString с защищенного URL (https)?

WebClient webClient = new WebClient();      
string xmlResult = webClient.DownloadString("https://kat.cr/usearch/ubuntu/?rss=1"); 

Я немного запутался, как URL, кажется, туннель через к вторичной странице kastatic.com:443, а затем kat.cr:443 (если я я правильно понимаю Скрипач).

сертификат сервера, кажется, хорошо так, добавив следующий код делает ничего полезного

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => 
        { 
         return true; 
        }; 

Я также попытался установить заголовки UserAgent на объекте WebClient в случае, если мне нужно, чтобы определить, как браузер или что-то но я не думаю, что я на правильном пути.

Edit: ответ я получаю «12a9» с 2 нечетных символов ASCII задней его (символ знака вопроса и белый круг с черной каймой

+2

В чем проблема: какая ошибка у вас возникла, если таковая имеется? –

+0

[Что это такое? ] (http://stackoverflow.com/questions/20064505/requesting-html-over-https-with-c-sharp-webclient)? Я помню, что мне пришлось долго делать что-то подобное. Defo что-то делать с SSL так может стоить выстрел – musefan

+0

возвращает «XML». что не так? –

ответ

2

Если посмотреть на заголовки в Fiddler, ответ. GZip-закодированный (сжатый). См. this answer, как это можно сделать, поскольку нет класса «быстрый и легкий» с классом WebClient.

+0

Такой простой ответ. Работает. Спасибо!^_ ^ – kovorka