【发布时间】:2013-02-25 12:08:53
【问题描述】:
编辑:我也不相信 HttpListener 会做任何事情
- 所以响应标头!= 下一篇文章的请求标头。
- 为什么浏览器以正确的请求标头开头,但来自我的客户端的简单 GET HTTP / 1.1 看起来不一样,即使每个域的原始请求标头多次更改???????
- 这也没有正确使用cookies。这是为什么呢?
我该如何做才能赋予我这种浏览器的魔力?
*WebClient 没有 .RequestHeaders。
*将 HttpWebRequest 标头与 Chrome/Fiddler 嗅探进行比较。
using System.Net;
private void Form1_Load(object sender, EventArgs e)
{
CookieContainer cookieJar = new CookieContainer();
cookieJar.GetCookies(new Uri("https://www.google.com"));
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.google.com");
request.CookieContainer = cookieJar;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
this.Text = request.Headers.Count.ToString();
WebHeaderCollection header = request.Headers;
for (int i = 0; i < header.Count; i++)
{
richTextBox1.AppendText(header.GetKey(i) + ": " + header[i] + "\n");
}
}
Fiddler/Chrome 组合返回 10 个请求标头;客户端返回 2。
还有为什么标题“Accept-Encoding: gzip,deflate,sdch”总是使响应变成一些奇怪的 2 字符数据?
【问题讨论】:
-
嗅探/与 Fiddler 比较
-
直到有人知道为止。
-
伙计,我厌倦了这个“饼干罐”的笑话。我希望人们能克服它并使用正确的变量名。
标签: c# http-headers httpwebrequest httplistener