0

https URL から xml ファイルを読み込もうとしています

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;
using(WebClient client = new WebClient()) {
   contents = client.DownloadString(dr["XmlImpotURL"].ToString() + dr["ApiKey"].ToString());
}

このエラーが発生します

System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.

これを解決するのに2時間ほど費やしましたが、解決策が見つからないようです。

4

2 に答える 2

0

これを試して

        string sVal = "http://www.w3schools.com/xml/note.xml";
        XDocument document = XDocument.Load(sVal);

また

   Uri url = new Uri("http://www.w3schools.com/xml/note.xml");
        using (var wc = new WebClient())
        {
            string sss =  wc.DownloadString(url);
        }

セキュリティの問題に直面している場合

これを試して

  HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.Method = "GET";
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;


    // allows for validation of SSL conversations
    ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };


    WebResponse respon = req.GetResponse();
    Stream res = respon.GetResponseStream();

    string ret = "";
    byte[] buffer = new byte[1048];
    int read = 0;
    while ((read = res.Read(buffer, 0, buffer.Length)) > 0)
    {
        Console.Write(Encoding.ASCII.GetString(buffer, 0, read));
        ret += Encoding.ASCII.GetString(buffer, 0, read);
    }
    return ret;

また

 private void Test()
 {    ServicePointManager.ServerCertificateValidationCallback += new                       
      RemoteCertificateValidationCallback(Certificate);
  }

 private static bool Certificate(object sender, X509Certificate certificate,  
                             X509Chain chain, SslPolicyErrors  policyErrors) {
                           return true;
                       }

詳細については、このリンクを確認してくださいhttp://blogs.msdn.com/b/dgorti/archive/2005/09/18/471003.aspx

于 2013-10-22T04:46:38.947 に答える
0

これは解決されました, 代わりに

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;

使った

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;

今、それは働いています、あなたの答えに感謝します。

于 2013-10-23T00:43:58.287 に答える