Dit is een test method om aan de source te komen. Dus het stuk hoe je de source download kun je vervangen met hoe het hier gebeurt.
Het parsen blijft hetzelfde, ook moet je de juiste uri/url gebruiken want dit is de test uri.
vb:
dit:
[CPP]public async Task<string> GetCompetitionUrlAsync(string teamUrl)
{
Debug.WriteLine("GetCompetitionUrlAsync");
Debug.WriteLine("\tfrom url:{0}", teamUrl);
using (var client = new HttpClient())
{
var source = await client.GetStringAsync(new Uri(teamUrl));
var doc = CreateDocument(source);
var urlNodes = SelectNode(doc.DocumentNode, "div", "id", "Tekstpagina");
var competitionUrl = urlNodes.Descendants("a").Skip(1).First().GetAttributeValue("href", string.Empty);
//SelectNode(urlNodes, "a", string.Empty, string.Empty).GetAttributeValue("href", string.Empty).ToString();
competitionUrl = WebUtility.HtmlDecode(competitionUrl);
Debug.WriteLine("parsed competition url:{0}", competitionUrl);
return competitionUrl;
}
}[/CPP]
wordt:
[CPP]public async Task<string> GetCompetitionUrlAsync(string teamUrl)
{
Debug.WriteLine("GetCompetitionUrlAsync");
Debug.WriteLine("\tfrom url:{0}", teamUrl);
using (var filter = new HttpBaseProtocolFilter())
using (var client = new Windows.Web.Http.HttpClient(filter))
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101");
var source = await client.GetStringAsync(new Uri(teamUrl));
var doc = CreateDocument(source);
var urlNodes = SelectNode(doc.DocumentNode, "div", "id", "Tekstpagina");
var competitionUrl = urlNodes.Descendants("a").Skip(1).First().GetAttributeValue("href", string.Empty);
//SelectNode(urlNodes, "a", string.Empty, string.Empty).GetAttributeValue("href", string.Empty).ToString();
competitionUrl = WebUtility.HtmlDecode(competitionUrl);
Debug.WriteLine("parsed competition url:{0}", competitionUrl);
return competitionUrl;
}
}[/CPP]
(niet getest) je dumpt dus de oude System.Net.Http.HttpClient en gebruikt de nieuwe Windows.Web.Http.HttpClient
Als je de methods hebt aangepast kun je als het goed is dezelfde code gebruiken in w8.1 als bij wp8.1
Even backupje maken voor je de methods gaat aanpassen, ook al zijn het maar een paar regels.
(bij mij werkt de test nu op w8 & wp8.1)
edit:
En de filter gebruikt: using Windows.Web.Http.Filters;
Het parsen blijft hetzelfde, ook moet je de juiste uri/url gebruiken want dit is de test uri.
vb:
dit:
[CPP]public async Task<string> GetCompetitionUrlAsync(string teamUrl)
{
Debug.WriteLine("GetCompetitionUrlAsync");
Debug.WriteLine("\tfrom url:{0}", teamUrl);
using (var client = new HttpClient())
{
var source = await client.GetStringAsync(new Uri(teamUrl));
var doc = CreateDocument(source);
var urlNodes = SelectNode(doc.DocumentNode, "div", "id", "Tekstpagina");
var competitionUrl = urlNodes.Descendants("a").Skip(1).First().GetAttributeValue("href", string.Empty);
//SelectNode(urlNodes, "a", string.Empty, string.Empty).GetAttributeValue("href", string.Empty).ToString();
competitionUrl = WebUtility.HtmlDecode(competitionUrl);
Debug.WriteLine("parsed competition url:{0}", competitionUrl);
return competitionUrl;
}
}[/CPP]
wordt:
[CPP]public async Task<string> GetCompetitionUrlAsync(string teamUrl)
{
Debug.WriteLine("GetCompetitionUrlAsync");
Debug.WriteLine("\tfrom url:{0}", teamUrl);
using (var filter = new HttpBaseProtocolFilter())
using (var client = new Windows.Web.Http.HttpClient(filter))
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101");
var source = await client.GetStringAsync(new Uri(teamUrl));
var doc = CreateDocument(source);
var urlNodes = SelectNode(doc.DocumentNode, "div", "id", "Tekstpagina");
var competitionUrl = urlNodes.Descendants("a").Skip(1).First().GetAttributeValue("href", string.Empty);
//SelectNode(urlNodes, "a", string.Empty, string.Empty).GetAttributeValue("href", string.Empty).ToString();
competitionUrl = WebUtility.HtmlDecode(competitionUrl);
Debug.WriteLine("parsed competition url:{0}", competitionUrl);
return competitionUrl;
}
}[/CPP]
(niet getest) je dumpt dus de oude System.Net.Http.HttpClient en gebruikt de nieuwe Windows.Web.Http.HttpClient
Als je de methods hebt aangepast kun je als het goed is dezelfde code gebruiken in w8.1 als bij wp8.1
Even backupje maken voor je de methods gaat aanpassen, ook al zijn het maar een paar regels.

(bij mij werkt de test nu op w8 & wp8.1)
edit:
En de filter gebruikt: using Windows.Web.Http.Filters;
Laatst bewerkt: