zoukankan      html  css  js  c++  java
  • HttpClient Received an unexpected EOF or 0 bytes from the transport stream

    请求https链接时报错,奇怪的是pc1正常,pc2异常

    Unhandled Exception: System.AggregateException: One or more errors occurred. ( Received an unexpected EOF or 0 bytes from the transport stream.) ---> System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
    at System.Net.Security.SslStreamInternal.<FillBufferAsync>g__InternalFillBufferAsync|38_0[TReadAdapter](TReadAdapter adap, ValueTask`1 task, Int32 min, Int32 initial)

    原因:大概是请求时默认了一个过时了的ssl协议

    解决:指定tls 1.0或其他有效协议,参考https://stackoverflow.com/questions/25414907/authenticateasclient-system-io-ioexception-received-an-unexpected-eof-or-0-byt

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var html = GetClientStringAsync("https://**********").Result;
            Console.Write(html);
            Console.ReadLine();
        }
    
        public static async Task<string> GetClientStringAsync(string url, string encoding = "utf-8")
        {
            var result = string.Empty;
            var httpClientHandler = new HttpClientHandler
            {
                SslProtocols = System.Security.Authentication.SslProtocols.Tls
            };
            HttpClient client = new HttpClient(httpClientHandler);
            client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64)");
            var bytes = await client.GetByteArrayAsync(url);
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            result = Encoding.GetEncoding(encoding).GetString(bytes);
            return result;
        }
    }
  • 相关阅读:
    个人站立会议内容
    NABCD
    12.2
    12.1
    11.21
    11.20
    11.19
    11.18
    11.17
    11.16个人计划
  • 原文地址:https://www.cnblogs.com/wu_u/p/10704542.html
Copyright © 2011-2022 走看看