0

所以简而言之,我想使用 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;
4

1 回答 1

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);

此处提供了更完整的示例。

于 2013-07-08T12:20:00.213 回答