項目中需要請求其他平台接口,所以先控制台中,嘗試了幾種不同的方式,都是可以正常請求的,但是放到項目的C#插件中,無一例外,都是報錯:發生一個或多個錯誤。
經過排查,個人覺得是,GET請求地址,轉義問題。四處查閱了,一些相同的請求方式,最終,大獲成功。
起初用的httpClient,后來改用HttpWebRequest。
報錯代碼示例:
string address = ""; 請求地址
using (var client = new HttpClient())
{
//請求結果
string result = client.GetAsync(address).Result.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
最終解決問題,代碼示例:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //加上這一句 解決“請求被中止: 未能創建 SSL/TLS 安全通道”的問題
string serviceAddress = "";請求地址
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();