0

Windows Phone 7.1.1 用のアプリを開発しています

Web サイトの HTML コードを取得するために使用HttpWebRequestしています 問題は、常に HTML コードの「デスクトップ」バージョンを取得することです Google の後、UserAgent 文字列によって制御されていることがわかりました

だから、私UserAgentHttpWebRequest

しかし、まだ「モバイル」バージョンの HTML コードを取得していません。

ここに私のコードがあります

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(link, UriKind.Absolute));
        request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)";
        request.BeginGetResponse(new AsyncCallback(ResponseReady), request);

これは ResponseReady のコードです

private void ResponseReady(IAsyncResult asyncResult)
    {
        try
        {
            HttpWebRequest request = asyncResult.AsyncState as HttpWebRequest;
            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult);
            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);

            HtmlDocument htmlDocument = new HtmlDocument();

            string result = reader.ReadToEnd();

blah blah blah

応答は、まったく UserAgent ではない場合と常に同じです (デスクトップ バージョン)

4

1 に答える 1

0

私の問題は解決しました

WebViewer / WebBrowser コントロールを使用してリンクをロードするだけです。次に OuterHtml を使用して、その Web サイトの HTML コードを取得します。本当に簡単です。そのコントロールの可視性を折りたたみに設定して、画面上で非表示にすることができます

于 2013-01-13T08:19:49.973 に答える