.net core 下使用httpClient获取压缩的网页

HttpClient是.net core 下使用比较频繁的http客户端了,其又有官方支持的HttpClientFactory,可谓强大之际。为了获取特定网站的网页,可以建立一个连接池供使用,效率很高。

这里以百度为例,并支持自动解压缩。

var sc = new ServiceCollection()
                .AddHttpClient("baidu", c =>
                {
                    c.BaseAddress = new Uri("https://baijiahao.baidu.com/");
                    c.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3");
                    c.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
                })
                .ConfigurePrimaryHttpMessageHandler(messageHandler =>
                {
                    var handler = new HttpClientHandler();
                    if (handler.SupportsAutomaticDecompression)
                    {
                        handler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
                    }
                    return handler;
                }).AddTransientHttpErrorPolicy(p =>
                    p.WaitAndRetryAsync(3, _ => TimeSpan.FromMilliseconds(600)));
           

 

webmote CSDN认证博客专家 spark ETL hadoop
一位资深系统架构师、70后大龄码农、软件经理,擅长c++、.net core、微服务、前端Angular、H5等,也是一名摄影爱好者
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__0809 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值