使用webclient和HttpWebRequest請求https頁面時,有時會提示“基礎連接已關閉,發送時發生錯誤”。分析所請求頁面的header請求頭,發現頁面使用的是最新的安全連接 TLS 1.2 協議。
解決方法就是設置傳輸協議。在代碼里面創建Request之前添加如下代碼即可:
.net4.5:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
.net4.0:
req.ProtocolVersion = HttpVersion.Version11;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
.net4.0一下不支持TLS 1.2
信息網址:http://www.sacbl.com/ziyuan/view16810.htm