【发布时间】:2019-01-12 23:24:25
【问题描述】:
我想用 C# 和 HtmlAgilityPack 加载页面内容,但我得到了它的加密版本。
HttpClient httpClient = new HttpClient();
string html = await httpClient.GetStringAsync("http://www.wordreference.com/definicion/mundo");
我应该如何解密?
【问题讨论】:
-
您在问题中提供的网址中的网站内容未加密。 “我应该如何解密?”由于内容没有加密,所以没有什么可以解密的……
-
@elgonzo 我的
html变量包含不可读的混合字符而不是有效的html -
可能是服务器发送了压缩的内容,但无论出于何种原因,HtmlAgilityPack 都无法解压...?从服务器请求网页内容时,您应该能够(我希望,我不知道 HtmlAgilityPack)告诉服务器交付未压缩的内容以设置特定的请求标头字段。我不知道从头顶上,给我一分钟,我可以告诉你请求头......
-
好的,我指的 HTTP 标头字段是
Accept-Encoding(w3.org/Protocols/rfc2616/rfc2616-sec14.html)。请求网页时尝试将其设置为identity。如果这不起作用,请查看 HtmlAgilityPack 文档以了解它支持哪些内容压缩方案并尝试这些... -
(旁注:安装 Telerik Fiddler (telerik.com/fiddler)。它将允许您监控和检查您的应用程序和 Web 服务器之间的请求和响应。使故障排除变得更加容易和痛苦。 ..)
标签: c# web web-crawler html-agility-pack