2

次のページを読み込もうとすると:

http://www.manta.com/c/mm0mg7z/law-office-of-wendy-kazel

httpwebrequestで(私は以下のコードを使用します)

try {
    HttpWebRequest _wReq;
    HttpWebResponse _wResp;
    System.IO.StreamReader _sr;
    System.Text.ASCIIEncoding _enc = new System.Text.ASCIIEncoding();
    _wReq = (HttpWebRequest) WebRequest.Create("http://www.manta.com/c/mm0mg7z/law-office-of-wendy-kazel");
    _wReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
    _wReq.Timeout = 20000;
    _wReq.ReadWriteTimeout = 20000;

    _wReq.Referer = "http://www.manta.com";

    _wResp = (HttpWebResponse) _wReq.GetResponse();
    _sr = new System.IO.StreamReader(_wResp.GetResponseStream());
    _html = _sr.ReadToEnd();
    _sr.Close();
    _wResp.Close();

} catch (WebException ee) {

}

mantaから次のHTMLが返されます

Oops.
Before you can move on, please activate JavaScript.

それは常に起こったわけではありませんが、ほとんどの場合です。

何が問題になるのか考えてみてください。

4

1 に答える 1

1

HTTP Webリクエストは、クライアントエンドスクリプトを実行できません。Javascriptでは、スクリプトを実行し、ページをロードし、さまざまな操作を実行するためにDOMを構築する必要があります。

webrequests&responsesはリソースをダウンロードするだけで、とにかくそれを処理または実行しません。この場合、 WebBrowserControlを使用することをお勧めします。

于 2012-10-24T10:18:51.893 に答える