简体   繁体   中英

WebClient doesn't exist on Windows Phone 8.1? Downloading html of site

I want to get source code of some website.

I found this solution:

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

But VisualStudio tells that WebClient does not exist in System.Net.

How to fix that? Or how to do it other way?

PS: does windows phone have some special tag which developers usually use when they looking for some code/solutions?

WebClient does exist in WP8 like this:

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

For 8.1 apps, use something like this:

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

WebClient is available for Windows Phone Silverlight 8.1 apps. Windows Phone Runtime apps use Windows.Web.Http.HttpClient .

There is also a Portable HttpClient for .NET Framework and Windows Phone .

This is what I currently use to download HTML source from webpages:

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

This function will return downloaded html of pageURL.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM