如何通过 HttpWebRequest 发送小写的 Keep-Alive 标头

Ars*_*ray 3 c# http keep-alive

我正在编写一个机器人,它应该尽可能地模拟 Firefox。通过检查它发送的标头,我发现了一个细微的区别,我不知道如何摆脱:

Firefox 使用以下 keep-alive 标头:

Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

虽然 c# 总是发出:

Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

我知道这可能无关紧要,但我仍然很想知道是否有任何方法/技巧可以将该标头修改为全部小写。

任何想法如何做到这一点?

Gru*_*nik 5

在 .net 4.0 中,这有效:

request.Headers.GetType().InvokeMember(
    "ChangeInternal",
    BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod,
    Type.DefaultBinder, 
    request.Headers, 
    new object[] { "Connection", "keep-alive" }
);
Run Code Online (Sandbox Code Playgroud)

请确保您实际上没有在请求中设置 KeepAlive 属性