【发布时间】:2021-09-11 11:31:11
【问题描述】:
我使用的是旧版服务器,它要求 HTTP POST 请求中的标头和正文分别发送。我想这是通过 'Expect: 100-continue' 实现的,它存在于旧版的客户端消息头中。
我正在使用 Net Core 3.1 编写新客户端,它似乎不支持 HttpWebRequest 类中的 Expect100Continue(根据:https://github.com/dotnet/runtime/issues/25881)
有没有可能用 Net Core 3.1 发送 HTTP 请求,正文和标头分开?
【问题讨论】:
-
服务器默认为 http 1.1 而 net 没有发送 100 继续。解决方案是让 Net 客户端将标头发送到服务器命令以从默认的 http 1.1 更改为 http 1.0。使用以下代码: HttpWebRequest request = (HttpWebRequest) WebRequest.Create("URI"); request.ProtocolVersion = HttpVersion.Version10;
-
HttpWebRequest 已弃用,请改用 HttpClient,无论是用于 HTTP/1.0
标签: c# .net-core httprequest