添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
I get this error for a specific website, that they announced they made some changes a couple months ago. Now when I check it through c#.... something is not right. The other websites I check are working allright with this code.
Can someone elucidate it for me, please?
{ " The request was aborted: Could not create SSL/TLS secure channel." }
I am using this code:
// I google it and find this 3lines as being helpful - THEY ARE NOT HELPING AT ALL ServicePointManager.Expect100Continue = true ; ServicePointManager.DefaultConnectionLimit = 9999 ; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; // (In my VS2010, I only see Ssl3 and Tls,that's it - this may be the cause?) HttpWebRequest request; HttpWebResponse response = null ; Stream stream = null ; request = (HttpWebRequest)WebRequest.Create( " https://www.MyWebsiteToCheck.com/" ); request.UserAgent = " Foo" ; request.Accept = " */*" ; request.UseDefaultCredentials = true ; request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; // {"The request was aborted: Could not create SSL/TLS secure channel."} // and response is null. response = (HttpWebResponse)request.GetResponse(); // <<<here it breakes stream = response.GetResponseStream(); if (stream != null ) stream.Close(); if (response != null ) response.Close();
Thank you.
What I have tried:
................................................................................. // in .NET 4.0, TLS 1.2 is not supported, but if you have .NET 4.5 (or above) installed on the system // then you still can opt in for TLS 1.2 even if your application framework doesn't support it. // The only problem is that SecurityProtocolType in .NET 4.0 doesn't have an entry for TLS1.2, // so we'd have to use a numerical representation of this enum value: // ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; ServicePointManager.SecurityProtocol = (SecurityProtocolType) 3072 ; // instead of: // ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; So it was a .NET problem after all. Hmmm.
I am leaving this here with the result i find, maybe it will help others too. <pre>ServicePointManager.Expect100Continue = true ; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11; Add this line
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback = (snder, cert, chain, error) => true;
It working.
  • Read the question carefully.
  • Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  • If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  • Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question. Let's work to help developers, not make them feel stupid.
  •