我为什么在浏览器上得到的响应与服务器上的响应不同

问题描述

| 这是一个示例网站 http://us.blizzard.com/store/browse.xml?f=c:5,c:33 当我在Firefox中检查响应时,它是application / xhtml 当我使用以下标头向同一网址服务器端发出请求时
var request = (HttpWebRequest)WebRequest.Create(url);
var cookieContainer = new CookieContainer();

request.CookieContainer = cookieContainer;
request.UserAgent = @\"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5\";
request.Method = \"GET\";
request.AllowAutoRedirect = true;
request.Timeout = 15000;
响应是application / xml 有任何想法吗? 谢谢     

解决方法

        尝试在请求中包含
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
request.Accept = @\"text/html,*/*;q=0.8\";
编辑: 尝试从Firefox复制请求。 我尝试了这一点(我使用chrome + chrome开发工具获取标题)
        request.CookieContainer = cookieContainer;
        request.UserAgent = @\"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML,like Gecko) Chrome/12.0.742.68 Safari/534.30\";
        request.Accept = @\"text/html,*/*;q=0.8\";
        request.Headers.Add(\"Accept-Encoding\",\"gzip,deflate,sdch\");
        request.Headers.Add(\"Accept-Charset\",\"ISO-8859-1,utf-8;q=0.7,*;q=0.3\");
        request.Headers.Add(\"Accept-Language\",\"en-US,en;q=0.8\");

        request.Method = \"GET\";
        request.AllowAutoRedirect = true;
        request.Timeout = 15000;
然后回到
application/xhtml+xml