1

我想从网上获取一些信息,HtmlAgilityPack在我使用应用程序从页面获取数据之前,应用程序是正常的,错误的编号是403,我的代码如下:

string wikipageurl = geturl.Text;
WebClient wc1 = new WebClient();
Stream stream1 = wc1.OpenRead(wikipageurl);
StreamReader sr1 = new StreamReader(stream1, Encoding.UTF8);
showhtml.Text = sr1.ReadToEnd();

我使用 showhtml 文本框向我展示应用程序获得的信息。

4

2 回答 2

1

这是使用HtmlAgilityPack 的方法:

HtmlDocutment doc;
HtmlWeb web = new HtmlWeb();

web.OverrideEncoding = Encoding.UTF8;
web.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0";
doc = web.Load("http://zh.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E5%85%83%E5%B8%85%E5%88%97%E8%A1%A8");
showhtml.Text = doc.DocumentNode.OuterHtml;

如果你想使用 WebClient 检查Oscar Mederos答案

于 2013-02-27T16:23:29.753 回答
0

只需尝试模拟您通过网络浏览器访问它。为此,您使用User-Agent标题:

...
WebClient wc1 = new WebClient();
wc1.Headers.Add(
     "User-Agent", 
     "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0"
);
Stream stream1 = wc1.OpenRead(wikipageurl);
...
于 2013-02-27T06:30:48.457 回答