如何获取网站的来源(Windows Phone 7.1 - 8.0)C#

时间:2013-07-08 12:05:51

标签: c# windows-phone-8 windows-phone-7.1

因此,简而言之,我希望使用C#获取Windows Phone 8 SDK中任何网站的来源。当我把这个代码放在常规的C#Visual Studio中时,它工作正常,但是当我把这段代码放在Windows Phone 8 SDK(C#)中时,编译器在代码中给出了一个错误

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

特别是GetResponse()

那么是否有其他方法可以在不使用GetResonse()或该行的情况下获取网站的来源,或者只是获取Windows Phone 8 SDK中网站的HTML代码的方法

非常感谢代码示例

代码:

string inputurl = "https://www.any_website_url.com/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(inputurl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader urlinputreader = new StreamReader(response.GetResponseStream());
string urlsourcecode = urlinputreader.ReadToEnd();
String websitesourcecode = urlsourcecode;

1 个答案:

答案 0 :(得分:2)

WPx中的HttpWebRequest是异步的,因为GetResponse是一种同步方法,所以它不可用/不应该使用。

您需要做的是使用回调调用BeginGetResponse(),当回复可用时将调用回调,类似于;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(inputurl);

// MyCallback will be called when the response is available.
IAsyncResult result=
      (IAsyncResult) request.BeginGetResponse(
                          new AsyncCallback(MyCallback), request);

可提供更完整的样本here