当前位置: 首页 > news >正文

汕头企业制作网站网站开发语言怎么看

汕头企业制作网站,网站开发语言怎么看,网站源码上传到哪个文件夹,如何在电子表格上做网站的连接HttpClient 禁用自动重定向Intro前段时间写了一个小工具来帮助我们简化一个每个月一次的小任务#xff0c;每个月我们公司的 BI Team 会给我们上个月访问量比较高的博客文章的 url#xff0c;然后我们会根据 BI 提供博客的 url 去找到对应的博客 id#xff0c;然后更新到配置… HttpClient 禁用自动重定向Intro前段时间写了一个小工具来帮助我们简化一个每个月一次的小任务每个月我们公司的 BI Team 会给我们上个月访问量比较高的博客文章的 url然后我们会根据 BI 提供博客的 url 去找到对应的博客 id然后更新到配置中网站会读取这个配置来显示比较受欢迎的博客文章Redirection我们的博客文章有一个特点如果访问的地址只有博客文章的路径会自动跳转到带 id 的地址比如你访问https://cn.iherb.com/blog/8-natural-remedies-for-heartburn-and-acid-reflux 会自动跳转到 https://cn.iherb.com/blog/8-natural-remedies-for-heartburn-and-acid-reflux/347 后面新增的 347 就是对应的博客文章的 idBI team 的同事给到我们的就是示例中的 8-natural-remedies-for-heartburn-and-acid-reflux就是服务器端做了一个重定向通过 浏览器的 Network 我们可以看到发生了一个 302 重定向HttpClient AutoRedirect根据上面的重定向我们使用代码是不是也可以做呢这样我们就可以做到比较自动化了来尝试一下var articlePath  /8-natural-remedies-for-heartburn-and-acid-reflux/; var httpClient  new HttpClient() {BaseAddress  new Uri(https://cn.iherb.com/blog/) }; using var res  await httpClient.GetAsync(articlePath[0].TrimStart(/)); Console.WriteLine(res.RequestMessage.RequestUri.ToString()); Console.WriteLine(res.StatusCode); 猜一猜上面的代码输出结果是什么输出结果如下和你预想的结果一样吗可以看到输出的请求地址实际上并不是我们请求的地址这是因为默认地HttpClient 会自动跟随重定向如果服务器重定向了一个请求HttpClient 会读取 response header 中的 Location 来请求下一个地址请求地址和 response 显示的是最终一次请求的信息。你也可以选择禁用自动重定向下面就是一个禁用重定向的示例using var httpClient  new HttpClient(new HttpClientHandler() {AllowAutoRedirect  false }) {BaseAddress  new Uri(BaseUrl) }; using var res1  await httpClient.GetAsync(articlePath[0].TrimStart(/)); Console.WriteLine(res1.RequestMessage.RequestUri.ToString()); Console.WriteLine(res1.StatusCode); 我们可以通过指定 HttpClientHandler 的 AllowAutoRedirect 属性来禁用自动重定向禁用后的输出结果如下可以看到这个请求的请求地址是我们实际请求的地址没有发生重定向那么针对哪些请求会做重定向处理呢通过查阅源码发现对于这些响应会尝试重定向 300/301/302/307/308, 可以参考https://github.com/dotnet/runtime/blob/74246130d505c9243396f4a8837634e8ab3065bb/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/RedirectHandler.cs#L87Practice我们已经知道 HttpClient 会自动重定向而且我们只需要拿到重定向后的地址即可那我们就可以禁用自动重定向直接读取 Response Header 里的 Location 中的值就可以拿到要重定向的 URL 了于是就有了下面的代码来获取博客文章的 idprivate async Taskint GetArticleId(string path) {using var response  await httpClient.GetAsync(path.TrimStart(/));var statusCode  (int)response.StatusCode;if(statusCode ! 302){return -1;}var newLocation  response.Headers.Location.ToString();int.TryParse(newLocation[(newLocation.LastIndexOf(/)  1)..], out var articleId);return articleId; } 通过上面的代码我们就可以相对高效的拿到博客文章的 id再进一步整理一下构造成我们最终配置所需要的格式var articleIds  await Task.WhenAll(articlePath.Select(path  GetArticleId(path))); var json  new {articlelist  articleIds.Select(x new{ idx }) }.ToJson(); 这样以后我们再统计只需要拷贝一下新的数据跑一下脚本就可以了~~More因为我们只关注 Response Header 所以我们也可以把上面的 GET 请求换成 HEAD 请求这样返回的响应就只有 Header没有 Body 更加简洁一些从业务的角度来看我们可以尝试让别的 Team 同事直接提供一个 API 来返回这样的数据这样我们就不必这样搞了 ^^Referenceshttps://github.com/WeihanLi/SamplesInPractice/blob/master/HttpClientTest/NoAutoRedirectSample.cshttps://github.com/dotnet/runtime/blob/main/src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cshttps://github.com/dotnet/runtime/blob/74246130d505c9243396f4a8837634e8ab3065bb/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/RedirectHandler.cs#L87https://stackoverflow.com/questions/14731980/using-httpclient-how-would-i-prevent-automatic-redirects-and-get-original-statuhttps://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlhttps://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.allowautoredirect?WT.mc_idDT-MVP-5004222viewnet-5.0https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.maxautomaticredirections?viewnet-5.0WT.mc_idDT-MVP-5004222
http://www.zqtcl.cn/news/575319/

相关文章:

  • 做购物网站怎么写开题报告中山如何建网站
  • 专门做游戏交易的网站新网站如何才做被百度收录
  • 网站模板打包自己做电视视频网站吗
  • seo网站关键词排名提升公司建设网站需要多少钱
  • 湖北网站设计流程旺旺食品有限公司网页设计
  • 无锡专业网站建设华企网站建设推广优化
  • 做网站公司流程cms203片
  • wordpress网站主机名如何优化培训体系
  • 安平网站建设团购网站建设目的
  • 长春网页网站制作做网站时搜索的代码是什么
  • 排名好的移动网站建设陕西恒业建设集团网站
  • 怎么用ps做简单网站个人商城网站建设
  • mvc做门户网站自适应网站制作费用
  • 建设工程协会网站查询系统成品网站源码在线观看
  • 宝塔做两个网站安卓版wordpress
  • 即墨网站建设招聘企业类网站有哪些
  • 汕头网站建设开发软件开发属于哪个专业
  • 企业网站建设规划书阿里云虚拟机怎么做多个网站
  • 营销平台网站建设做视频怎么做
  • 吉林房地产网站开发icp网站授权函
  • 深圳公司网站建设哪家好郑州短视频培训机构
  • 网络培训班答案百度seo收录软件
  • 中核工建设集团有限公司网站网站建设管理中se是什么意思
  • 网站如何做关键词引流网站怎么快速做收录
  • 网站建设文案网站设计要学哪些
  • 品牌网站建设gs平台搭建工具
  • 怎么把自己做的网站弄到域名上柳州游戏网站建设
  • 做衣服类网站策划书高端建设网站企业
  • 珠海网站建设公司有哪些代替做网站推广
  • 泰安的网站建设公司旅游网站建设规划报告怎么写