gpt4 book ai didi

c# - 如何在 C# 中正确发送 KeepAlive header ?

转载 作者:太空狗 更新时间:2023-10-29 23:25:26 29 4
gpt4 key购买 nike

我需要使用 HttpWebRequest 发送这样的请求:

POST https://sap.site.com.mx/sap/bw/BEx?SAP-LANGUAGE=ES&PAGENO=1&CMD=PROCESS_VARIABLES&REQUEST_NO=0&CMD=PROCESS_VARIABLES&SUBCMD=VAR_SUBMIT&VARID= HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-MX,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

但是,我无法发送连接 header 。这是我的代码:

// request
HttpWebRequest request = CreateWebRequestObject(url);
request.CookieContainer = this.cc;
request.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";

// headers
request.Headers.Add("Accept-Encoding", "gzip, deflate");
request.Headers.Add("Accept-Language", " es-MX,es;q=0.8,en-us;q=0.5,en;q=0.3");
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.KeepAlive = true; // it does not work as expected
request.ServicePoint.Expect100Continue = false; // remove Expect header

// post
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = buffer.Length;

using (Stream stream = request.GetRequestStream())
stream.Write(buffer, 0, buffer.Length);

但是,当我在 Fiddler 中检查请求时,Connection 属性没有出现。

此外,这些帖子对我不起作用:

  1. Keep a http connection alive in C#?
  2. C# - Connection: keep-alive Header is Not Being Sent During HttpWebRequest

如何正确发送连接 header ?

更新

这使用 HTTP/1.0 添加 Keep-Alive

request.ProtocolVersion = HttpVersion.Version10;
//request.KeepAlive = true; // not necessary

当将 ProtocolVersion 属性更改为 HttpVersion.Version11 时,不发送 Keep-Alive header :

request.ProtocolVersion = HttpVersion.Version11;
request.KeepAlive = true;

如何使用 Http/1.1 发送 Keep-Alive header ?

最佳答案

当使用 HTTP/1.1 时,默认情况下 Keep-Alive 处于启用状态。将 KeepAlive 设置为 false 可能会导致向服务器发送 Connection: Close header 。

关于c# - 如何在 C# 中正确发送 KeepAlive header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570350/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com