【发布时间】:2017-12-03 20:21:41
【问题描述】:
我有一个任务,我需要能够发送 Connection: keep-alive 标头,其方式与 Firefox 浏览器完成的方式相同(请注意,keep-alive 必须全部小写):
"Connection: keep-alive"
但是,我没有运气使用 HttpClient 实现它。无论我尝试什么,请求总是有
"Connection: Keep-Alive"
这是一个示例代码:
var client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri("http://www.someURI.com"),
Method = HttpMethod.Get,
};
request.Headers.Connection.Clear(); // No need to do it as it is empty anyway
request.Headers.Connection.Add("keep-alive"); // Still results in "Keep-Alive"
var task = client.SendAsync(request);
另一个尝试:
var client = new HttpClient();
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Connection.Add("keep-alive"); // Still results in "Keep-Alive"
string result = await client.GetStringAsync("http://www.someURI.com");
在HttpWebRequest中有一个关于如何完成的答案:How to send lower-case Keep-Alive header through HttpWebRequest
在 HttpClient 中是否会出现类似的情况?
【问题讨论】:
标签: c# httpclient keep-alive