C# http get 接口請求


項目中需要請求其他平台接口,所以先控制台中,嘗試了幾種不同的方式,都是可以正常請求的,但是放到項目的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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM