HttpWebRequest.UserAgent已设置,但无法响应

时间:2012-12-31 15:52:01

标签: c# silverlight httpwebrequest windows-phone-7.1

我正在开发适用于Windows Phone 7.1.1的应用程序

我正在使用HttpWebRequest来获取网站的HTML代码 问题是,它总是得到HTML代码的“桌面”版本 谷歌之后,我发现它是由UserAgent字符串

控制的

所以,我设置了UserAgent

HttpWebRequest

但它仍然没有获得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完全相同(桌面版)

1 个答案:

答案 0 :(得分:0)

我的问题解决了

只需使用WebViewer / WebBrowser控件加载链接即可。然后使用OuterHtml获取该网站的HTML代码。真的很简单。 您可以将该控件的可见性设置为“折叠”以将其隐藏在屏幕上