1

を使用して Web から情報を取得したいです。アプリケーションを使用してこのページ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 textbox を使用して、アプリケーションが取得した情報を表示します。

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

Web ブラウザからアクセスしているようにシミュレートしてみてください。そのためには、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 に答える