对接微信支付api接口 http请求的时候代码一直报错
查了一下才知道需要捕获一下异常,里面也有服务器返回消息
public static string Get4(string url, string Authorization)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Accept = "application/json";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36";
request.Headers.Add("Authorization", Authorization);
request.ServicePoint.Expect100Continue = false;
request.Method = "GET";
request.CookieContainer = cookieContainer;
request.ContentType = "application/json;charset=UTF-8";
request.KeepAlive = false;
//request.Timeout = 5 * 60 * 1000; //超时时间定义为5分钟
HttpWebResponse response = null;
try
{
object obj = request.GetResponse();
response = (HttpWebResponse)obj;
using (Stream rs = response.GetResponseStream())
using (StreamReader reader = new StreamReader(rs, Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
catch (System.Net.WebException ex)
{
var strResponse = GetResponseAsString((System.Net.HttpWebResponse)ex.Response, Encoding.UTF8);//这样获取web服务器返回数据
return strResponse;
}
finally
{
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
}
}
static string GetResponseAsString(HttpWebResponse res, Encoding encoding)
{
try
{
StreamReader sr = new StreamReader(res.GetResponseStream(), encoding);
return sr.ReadToEnd();
}
catch (Exception ex)
{
return "";
}
}
参考
https://www.cnblogs.com/code1992/p/13916181.html