0

我花了三天时间通过 C# 代码和网站名称“ http://tweetermonitor.apphb.com/ ”更改网站代理,但没有找到从我拥有的列表中更改代理的非常好的方法。实际上,我的网站正在从网站 url 中提取数据,并且一些网站正在阻止我的 IP 地址并且系统无法提取数据。我有一些代理,我想从代码中更改它,这意味着我将把代理放在数据库中,当我的网站被阻止时,我将放置一个代理并在 Code 中添加 Webproxy 系统。我找到了一个代码,但我不明白它的含义。

var getHtmlWeb = new HtmlWeb() { AutoDetectEncoding = false, OverrideEncoding = Encoding.GetEncoding("iso-8859-2") };

                WebProxy myproxy = new WebProxy("116.197.134.130:8080", true);

                NetworkCredential cred = (NetworkCredential)CredentialCache.DefaultCredentials;

                var document = getHtmlWeb.Load("http://tweetermonitor.apphb.com/", "POST", myproxy, cred);

代码运行成功,但是 Var Document 的含义是什么?在做什么?在此处输入图像描述 这里是变量文档有什么的描述。请帮助我,我非常需要它。帮助将不胜感激。谢谢,希望我能得到帮助..

4

2 回答 2

0

会分解的,

// getHtmlWeb is the webclient
var getHtmlWeb = new HtmlWeb() { AutoDetectEncoding = false, OverrideEncoding = Encoding.GetEncoding("iso-8859-2") };

                // This is the WebProxy that you connect through
                WebProxy myproxy = new WebProxy("116.197.134.130:8080", true);
                // from what i believe this pulls the credentials to login to the proxy from the credentialcache
                NetworkCredential cred = (NetworkCredential)CredentialCache.DefaultCredentials;

                // document is the website that has been loaded..
                // "POST", myproxy, cred is used to login to the proxy which then allows you to load the webpage
                var document = getHtmlWeb.Load("http://tweetermonitor.apphb.com/", "POST", myproxy, cred);

对于您问题的最后部分,我不完全理解您要达到的目标。但是您确实要求解释代码,这就是我提供的。

于 2017-01-20T07:57:12.030 回答
0

变量文档

根据上面的文档,var将被编译为一个HtmlDocument对象,因为这就是getHtmlWeb.Load()返回的内容。它基本上会导致:

HtmlDocument document = getHtmlWeb.Load("http://.com/", "POST", myproxy, cred);

根据您的需要,您可以点进入对象属性以查看您刚刚检索到的页面的信息。例如,此属性中提供了网页 html 代码:

document.DocumentNode.OuterHtml

于 2017-01-20T07:58:43.837 回答