狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# HTTPS請求“請求被中止: 未能創建 SSL/TLS 安全通道”

admin
2023年5月23日 9:52 本文熱度 1351

HttpWebRequest 請求https接口,一直提示未能創建 SSL/TLS 安全通道! 證書驗證創建委托一直返回true 也不行。
因為是單向認證,所以這個肯定沒啥問題,只能繼續查資料了。

注意:如果是雙向認證就需要加載證書才可以通信。

private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)

{

return true;

}

我用的是NET Farmwork 4,查了資料才知道根本不支持TLS,最高就到SSL3,所以我換到了NET Farmwork 4.5,完美解決。

完整代碼:

private static readonly string DefaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36";

private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)

{

return true;

}

public static string HttpsPost(string url, string postData)

{

Stream outstream = null;

Stream instream = null;

StreamReader sr = null;

HttpWebResponse response = null;

HttpWebRequest request = null;

Encoding encoding = Encoding.GetEncoding("utf-8");  //選擇編碼字符集

byte[] data = encoding.GetBytes(postData); //轉換為bytes數據

// 準備請求...

try

{

// 設置參數

if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))

{

ServicePointManager.ServerCertificateValidationCallback =

new RemoteCertificateValidationCallback(CheckValidationResult);

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 | (SecurityProtocolType)3072; //必須加上這一句,根據需要更改值

request = WebRequest.create(url) as HttpWebRequest;

request.ProtocolVersion = HttpVersion.Version10;

}

else

{

request = WebRequest.create(url) as HttpWebRequest;

}

CookieContainer cookieContainer = new CookieContainer();

request.CookieContainer = cookieContainer;

request.AllowAutoRedirect = true;

request.Timeout = 30*1000;  //30S

request.ContinueTimeout = 30 * 1000;

request.Method = "POST";

request.ContentType = "application/json";

request.ContentLength = data.Length;

request.UserAgent = DefaultUserAgent;

// request.TransferEncoding = encoding.HeaderName;

outstream = request.GetRequestStream();

outstream.Write(data, 0, data.Length);

outstream.Close();

//發送請求并獲取相應回應數據

response = request.GetResponse() as HttpWebResponse;

//直到request.GetResponse()程序才開始向目標網頁發送Post請求

instream = response.GetResponseStream();

sr = new StreamReader(instream, encoding);

//返回結果網頁(html)代碼

string content = sr.ReadToEnd();

string err = string.Empty;

return content;

}

catch (Exception ex)

{

string err = ex.Message;

return string.Empty;

}

}

親測有效。


該文章在 2023/5/23 9:52:52 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved