2012-07-04 2 views
4

В WebBrowser я могу нормально загрузить по следующему адресу: https://security.ultimatxxxx.com:443/Serverstatus.ashxC# WebClient Скачать Струнный HTTPS

Когда я делаю это с:

Webclient.DownloadStringAsync("https://security.ultimatxxxx.com:443/Serverstatus.ashx"); 

Для целей тестирования вы можете позвонить: ultimate-eur вместо ultimatxxxx.

Это не работает, но когда я загружаю обычный URL без https, у меня нет проблем. Какой аргумент я должен добавить, чтобы Webclient также мог загрузить строку?

Я хочу использовать эту функцию в Monotouch, но язык C#.

+0

Вызывает ли это какое-либо исключение? если да, пожалуйста, добавьте его в сообщение – HatSoft

+0

. Я получаю: запрос завершен – Ploetzeneder

ответ

8

Если вы просто хотите, чтобы принять все сертификаты, вам необходимо установить проверку сертификата, прежде чем сделать запрос:

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

Это будет принимать все сертификаты.

Хотя - если вам нужно на самом деле проверить сертификат сделать что-то вроде:

ServicePointManager.ServerCertificateValidationCallback = 
    (sender, certificate, chain, sslPolicyErrors) => 
    { 
     //to check certificate 
    }; 
+0

Привет, где я должен добавить это? или как передать это веб-клиенту – Ploetzeneder

+0

Просто добавьте эту строку кода перед тем, как сделать запрос. –

+0

Service Point Manager недоступен в Windows Phone. Есть ли решение для приложения WindowsPhone? –

1

Одной из возможных причин может быть тот факт, что некоторые веб-сайт предоставляют различный результат в другом браузере.

Вы можете попытаться предоставить информацию обозревателя, чтобы притвориться, что звонок из браузера.

var client = new WebClient(); 
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15"; 
string download = client.DownloadString("https://security.ultimatxxxx.com:443/Serverstatus.ashx"); 

Или

вы не связывают completedEvent из Aysnc вызова.

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