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

posted @ 2020-06-16 09:34  橘子拾光  阅读(9084)  评论(0编辑  收藏  举报