zoukankan      html  css  js  c++  java
  • WIn7 下使用 NetHttpClient 请求HTPPS 网站

    在WIN7 下使用 HttpClient 会报以下两种错 ;
    1 Server Certificate Invalid or not present
    2 Error sending data: (12175) 发生了安全错误.

    3 System.Net.WebException: 请求被中止: 未能创建 SSL/TLS 安全通道。

    经查询资料是因为WIn7 默认不支持这个协议
    详细见:
    https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

    解决方法:

    指定 HttpClient.SecureProtocols  为TLS12

    代码:

    procedure TForm2.Button1Click(Sender: TObject);
    var
      str:string;
      ss:TStringStream;//TStreamstring
     begin
       try
        ss:=TStringStream.Create();
        //WIN 7 下使用 需要 指定 默认的协议TLS12
       http.SecureProtocols:=[THTTPSecureProtocol.TLS12];
        http.Get(url,ss);
        memo1.Text:=ss.DataString;
       finally
          ss.Free;
       end;
    end;
    View Code
       private void button1_Click(object sender, EventArgs e)
            {
                //ServicePointManager.ServerCertificateValidationCallback =
                //    new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
                string data;
                HttpClient http = new HttpClient();
                System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                HttpResponseMessage response = http.GetAsync("https://kindao1.github.io/LimitTW/").Result;
                textBox1.AppendText(response.ToString()+"
    ");
                var re = response.Content.ReadAsStringAsync();
                data =re.Result;
                textBox1.AppendText(data);
            }
    C# 代码
  • 相关阅读:
    一个没调好的程序
    bzoj1214 [HNOI2004]FTP服务器
    bzoj4514 [Sdoi2016]数字配对(网络流)
    二分图最大权匹配模板(pascal)
    CSS控制文字,超出部分显示省略号
    新型智慧城市顶层设计经验分享
    移动端浏览器前端优化
    桌面浏览器前端优化
    关于ie8下disabled属性:字体颜色问题
    win10永久激活
  • 原文地址:https://www.cnblogs.com/stroll/p/12987796.html
Copyright © 2011-2022 走看看