首页 > 其他分享 >.NET HttpClient 关于 Send 问题

.NET HttpClient 关于 Send 问题

时间:2023-07-20 10:25:29浏览次数:36  
标签:请求 Send handler NET HttpClient Post httpClient

              一个数据采集项目中,使用 HttpClient  携带COOKIE 对 被采集的系统调用API的方式进行数据请求,使用 HttpClient  过程中发现,通过HttpClient  中 Send方式进行数据请求时 ”JSESSIONID“缺失!

           HttpClient 初始化:

 1             #region 初始化 HttpClient
 2 
 3             var handler = new HttpClientHandler();
 4             handler.UseCookies = true;
 5             handler.AllowAutoRedirect = true;
 6             handler.CookieContainer = cookieContainer;
 7             handler.Proxy = webProxy;
 8             handler.UseProxy = true;
 9             HttpClient httpClient = new HttpClient(handler);
10             httpClient.BaseAddress = new Uri("**********");
11             httpClient.DefaultRequestHeaders.Add("Accept", "application/json, text/javascript, */*; q=0.01");
12             httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0;********");
13             httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
14 
15             #endregion
16   

 

 

           分别以 Send 和 Post 两种请求方式请求:

 1             #region Send Request
 2 
 3             HttpRequestMessage httpRequestTreeMessage = new HttpRequestMessage();
 4             httpRequestTreeMessage.Method = HttpMethod.Post;
 5             httpRequestTreeMessage.RequestUri = new Uri(request.httpClient.BaseAddress + RequestAddress);
 6             httpRequestTreeMessage.Content = null;
 7             HttpResponseMessage  SendResponse  = request.httpClient.Send(httpRequestTreeMessage);
 8             var SendResponseData = await SendResponse.Content.ReadAsStringAsync();
 9 
10             #endregion
11 
12 
13             #region Post Request
14 
15             HttpResponseMessage PostResponse = request.httpClient.PostAsync(RequestAddress,null ).Result;
16 
17             var PostResponseData = await PostResponse.Content.ReadAsStringAsync();
18 
19             #endregion

           1.Send 方式的请求头:

HttpClient  Send

 

 

 

 

           2.Post 方式的请求头:

 

HttpClient  Post

 

 

           从两次请求头分析,Send 请求 Cookie 不包含 "JSESSIONID",而在 Post 请求 Cookie 中包含  "JSESSIONID" 。

 

标签:请求,Send,handler,NET,HttpClient,Post,httpClient
From: https://www.cnblogs.com/frankie-ming/p/17567435.html

相关文章

  • 基于 KubeKey 扩容 Kubernetes v1.24 Worker 节点实战
    前言知识点定级:入门级KubeKey扩容Worker节点openEuler操作系统的基本配置Kubernets基本命令实战服务器配置(架构1:1复刻小规模生产环境,配置略有不同)主机名IPCPU内存系统盘数据盘用途ks-master-0192.168.9.912450100KubeSphere/k8s-masterks-master-1192.168.9.922450100Kub......
  • 基于 KubeKey 扩容 Kubernetes v1.24 Worker 节点实战
    前言知识点定级:入门级KubeKey扩容Worker节点openEuler操作系统的基本配置Kubernets基本命令实战服务器配置(架构1:1复刻小规模生产环境,配置略有不同)主机名IPCPU内存系统盘数据盘用途ks-master-0192.168.9.912450100KubeSphere/k8s-master......
  • Kubernetes亲和性学习笔记
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是欣宸在学习Kubernetes调度器的过程中,对亲和性相关知识点的整理和总结,这是一篇笔记性质的博客kubernetes默认调度器的调度过程:调度过程如下:预选(Pred......
  • .Net Core EntityFrameCore
    目录引入DBFirstMsSqlServer测试DbFirstUser表Nuget测试CodeFirstMsSqlServer保存原始数据并重新创建库备份数据在OnModelCreating增加执行codefirst迁移命令打印日志状态导航属性贪婪加载懒加载第一种方式第二种方式设置查询状态不跟踪全局设置局部设置执行时设置引入Mic......
  • Transformer取代者登场!微软、清华刚推出RetNet:成本低、速度快、性能强
    前言 Transformer的训练并行性是以低效推理为代价的:每一步的复杂度为O(N)且键值缓存受内存限制,让Transformer不适合部署。不断增长的序列长度会增加GPU内存消耗和延迟,并降低推理速度。研究者们一直在努力开发下一代架构,希望保留训练并行性和Transformer的性能,同时实现......
  • .NET 内存泄漏分析
    目的相信很多小伙伴,除了编码以外,还经常需要和服务器打交道,处理服务器警报,这些警报中最常见的问题之一就是内存泄漏,大部分时候这个问题很难通过传统的日志手段来定位,所以很多的小伙伴遇见了内存泄漏问题常常急的抓耳挠腮,一边百度(现在有了ChatGPT),一边连蒙带猜的尝试,运气好,完美定位,......
  • Visual Studio 2022 Net6.0 无法发现testcase, 也无法执行test case
         解决办法:      <PropertyGroup>                  <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>         <GenerateAssemblyInfo>false</GenerateAssemblyInfo>     ......
  • .net - 支持word上传的富文本编辑器
    ​ 1.编辑器修改(可选)1.1在 ueditor/config.json 中添加代码块    /* 上传word配置 */    "wordActionName":"wordupload",/* 执行上传视频的action名称 */    "wordFieldName":"upfile",/* 提交的视频表单名称 */    "wordPathFormat":"/p......
  • 【netstat】 netstat 查看端口的指令
    先来看两个netstat-natp:-n:以数字形式显示IP地址和端口号,而不进行反向解析。-a:显示所有的连接和监听端口,包括TCP和UDP。-t:仅显示TCP协议的连接。-p:显示与连接关联的进程信息。因此,netstat-natp命令将以数字形式显示所有的TCP和UDP连接,并显示与这些连接关联的进程信息。n......
  • Android GO 版本源码中preferred network type显示
    AndroidGO版本源码中preferrednetworktype的显示作为一名经验丰富的开发者,我将向你解释如何在AndroidGO版本的源码中实现"preferrednetworktype"的显示。下面是实现这个功能的步骤:步骤概览步骤动作步骤1创建一个新的Android项目步骤2添加必要的权限步骤......