WindowsClient上不存在WebClient?下载网站的html

时间:2014-10-03 18:50:36

标签: c# windows windows-phone windows-phone-8.1

我想获得一些网站的源代码。

我找到了这个解决方案:

var html = System.Net.WebClient().DownloadString(siteUrl);

但VisualStudio告诉System.Net中不存在WebClient。

如何解决这个问题?或者如何以其他方式做到这一点?

PS:Windows手机有一些特殊的标签,开发人员在寻找一些代码/解决方案时通常会使用这些标签吗?

3 个答案:

答案 0 :(得分:12)

WebClient确实存在于WP8中,如下所示:

WebClient thisclient = new WebClient();
thisclent.DownloadStringAsync(new Uri("urihere");
thisclient.DownloadStringCompleted += (s, x) =>
{
    if (x.Error != null)
    {
    //Catch any errors
    }
//Run Code
}

对于8.1应用,请使用以下内容:

    HttpClient http = new System.Net.Http.HttpClient();
    HttpResponseMessage response = await http.GetAsync("somesite");
    webresponse = await response.Content.ReadAsStringAsync();

答案 1 :(得分:3)

WebClient适用于Windows Phone Silverlight 8.1应用程序。 Windows Phone运行时应用程序使用Windows.Web.Http.HttpClient

还有Portable HttpClient for .NET Framework and Windows Phone

答案 2 :(得分:0)

这是我目前用于从网页下载HTML源代码的内容:

public static async Task<string> DownloadPageAsync(string pageURL)
    {
        using (HttpClient client = new HttpClient())
        using (HttpResponseMessage response = await client.GetAsync(page))
        using (HttpContent content = response.Content)
        {
            string result = await content.ReadAsStringAsync();

            return result;
        }
    }

此函数将返回pageURL的下载html。