Asp.net 请求远程接口报错:根据验证过程,远程证书无效,经过排查是请求得https接口的证书过期了,接口又不支持http请求,该如何解决。
public static string Get(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //获取内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
最佳解决方案
在创建HttpWebRequest得代码之前,设置一个证书处理程序,并且不管证书是否有效,都不进行验证,直接接受:
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, error) => { return true; }; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);