5

Webブラウザでは、通常、次のURLをロードできます: https://security.ultimatxxxx.com:443/Serverstatus.ashx

私がそれを行うとき:

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

ultimate-eurテスト目的で、 の代わりに: を呼び出すことができますultimatxxxx

動作しませんが、https なしで通常の URL を読み込むと問題ありません。Web クライアントも文字列をダウンロードできるようにするには、どの引数を追加する必要がありますか?

その機能をモノタッチで使いたいのですが、言語はC#です。

4

2 に答える 2

8

すべての証明書を受け入れるだけの場合は、要求を行う前に証明書チェックを設定する必要があります。

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

これにより、すべての証明書が受け入れられます。

ただし、実際に証明書を確認する必要がある場合は、次のようにします。

ServicePointManager.ServerCertificateValidationCallback =
    (sender, certificate, chain, sslPolicyErrors) => 
    {
        //to check certificate
    };
于 2012-07-04T11:25:13.553 に答える
4

考えられる理由の 1 つは、Web サイトによっては、ブラウザーごとに異なる結果が得られるという事実かもしれません。

ブラウザー情報を提供して、呼び出しがブラウザーからのものであるかのように見せかけることができます。

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

于 2012-07-04T11:28:29.410 に答える