不能正确解码网络响应

时间:2015-07-29 11:53:16

标签: c# encoding

我正在使用Abot(C#)使用getting started documentation中的标准设置抓取网站。

检索网页后,我无法阅读内容 - 它似乎没有被正确解码。

如果我注释掉Abot代码并只使用标准(HttpWebResponse)request.GetResponse() .net方法,我可以正确查看页面内容。

我想使用Abot来获取其抓取功能。但是正如你在下面看到的那样,我得到了大量错误解码的内容。

enter image description here

有没有人对如何解决问题有任何想法?

编辑:我很确定它与网站有关,因为如果我遇到http://www.google.com

,我就没有同样的问题

编辑2:以下是标题

的WebRequest

User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
Accept: */*
Host: www.<website>.com
Connection: Keep-Alive

WebResponse的

Transfer-Encoding: chunked
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Wed, 29 Jul 2015 12:28:53 GMT
Set-Cookie: __cfduid=de5028c9ea76b127d7aebe40617a7a6b51438172932; expires=Thu, 28-Jul-16 12:28:52 GMT; path=/; domain=.<website>.com; HttpOnly,PHPSESSID=e2ekece8flgs000h6u6kvf66k6; path=/,ct_cookies_test=7a1a1460017221ec70f96f0f2a3cdaac; path=/
X-Powered-By: W3 Total Cache/0.9.4.1
Expires: Wed, 29 Jul 2015 13:28:53 GMT
Cache-Control: max-age=3600, public, must-revalidate, proxy-revalidate
Pragma: public
X-Pingback: http://www.<website>.com/<file>.php
Link: <http://wp.me/P2xmvI-a>; rel=shortlink
Last-Modified: Wed, 29 Jul 2015 12:28:53 GMT
Vary: Accept-Encoding,User-Agent
Server: cloudflare-nginx
CF-RAY: 20d8d37b9fc406be-LHR

1 个答案:

答案 0 :(得分:0)

如果删除User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko标题,您的回复可能会更具可读性。我不确定,但看起来Web服务器以某种方式编码发送给此用户代理的响应。 (我也不是专家)

我可以建议您使用Fiddler(http://www.telerik.com/fiddler)来检查Web请求的处理方式。 (这对调试这类问题非常好)

Fiddler bad content

在fiddler中看到的内容不正确

Fiddler correct content

纠正fiddler中的内容