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();