webrequest请求接口,但是接口证书不受信任(基础连接已经关闭: 无法与远程服务器建立信任关系)

发布时间 2023-06-15 14:56:46作者: WantRemake

webrequest 请求接口,接口提示:  基础连接已经关闭: 无法与远程服务器建立信任关系

 

在你的请求里面加上这两行(红色标记的),而且两个都是必要的:(别问为啥,我也不知道......)多次尝试出来的结果

/// <summary>
    /// 底层GET请求
    /// </summary>
    /// <param name="url"></param>
    /// <returns></returns>
    public static string CarGetHttpRequest(string url)
    {
        try
        {
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
            webRequest.Method = "GET";

            //设置支持的ssl协议版本,这里我们都勾选上常用的几个
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | (SecurityProtocolType)3072;
            //忽略验证证书错误
            ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

           
            HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
            StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8);
            string str = sr.ReadToEnd();
            return str;
        }
        catch (Exception ex)
        {
            return ex.Message;
        }
    }