c# - .Net Core 3.1 - HTTP 请求 - 分别发送标头和正文
问题描述
我使用的是旧版服务器,它要求 HTTP POST 请求中的标头和正文分别发送。我想这是通过“期望:100-继续”实现的,它存在于旧版的客户端消息头中。
我正在使用 Net Core 3.1 编写新客户端,它似乎不支持 HttpWebRequest 类中的 Expect100Continue(根据:https ://github.com/dotnet/runtime/issues/25881 )
有没有可能用 Net Core 3.1 发送 HTTP 请求,正文和标头分开?
解决方案
快速解决方案是关闭 net core 的 HTTP 处理程序
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
在此切换之后,将使用来自 .net 框架的处理程序。看起来 SocketsHttpHandler(至少与 HttpWebRequest 结合使用)不支持分离的标头和正文,即使使用 HTTP 1.0 也是如此。
https://docs.microsoft.com/en-us/dotnet/api/system.appcontext.setswitch?view=netcore-3.1
推荐阅读
- java - JEP 12:预览语言和 VM 功能 - 可能的使用见证
- python - 将两个熊猫数据框与列值合并
- python - 在pygame中射击直升机
- r - wrapr 似乎不适用于向量
- r - 创建具有特定汇总统计的变量表
- python - TypeError:必须是 str,而不是用户输入的类型
- ios - 当表情符号键盘选择问题时,UITextField textInputMode 返回 nil
- javascript - 在 chrome 扩展的 content.js 中注入 Google recaptcha 的 JS 文件
- javascript - JavaScript 增量数组 React
- vb.net - 是否可以在 VB.net 中检查网页是否存在