Nou... dat duurde even...
Ik heb deze test methode gebruikt en met het setten van de useragent werkte het met de nieuwe Windows.Web API op wp8.1 & w8.1. Uiteraard het laatste wat ik probeerde :<
Code:
using System;
using Windows.UI.Popups;
using Windows.Web.Http;
using Windows.Web.Http.Filters;
[CPP]public class MainPageViewModel
{
public async void DownloadSource()
{
var uri = new Uri("http://www.wakanutgeve.nl/1/welkom/archief/?from=0&d=0&m=5&y=2014");
//uri = new Uri("http://www.helpmij.nl/");
string resultMessage;
try
{
using (var filter = new HttpBaseProtocolFilter())
using (var client = new HttpClient(filter))
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101");
var response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
var source = await response.Content.ReadAsStringAsync();
resultMessage = string.Format("Source downloaded! \r\n{0}...", source.Substring(0, 200));
}
else
{
resultMessage = string.Format("The request was not successful: {0}", response.StatusCode);
}
}
}
catch (Exception ex)
{
resultMessage = ex.Message;
}
new MessageDialog(resultMessage, "Operation Completed").ShowAsync();
}
}
[/CPP]
of simpel met debug line (gaat maar om het testen dat de source wordt gedownload)
[CPP]public async void DownloadSourceSimple()
{
var uri = new Uri("http://www.wakanutgeve.nl/1/welkom/archief/?from=0&d=0&m=5&y=2014");
using (var filter = new HttpBaseProtocolFilter())
using (var client = new HttpClient(filter))
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101");
var source = await client.GetStringAsync(uri);
Debug.WriteLine("Source downloaded!");
Debug.WriteLine(source.Substring(0, 200));
}
}[/CPP]
De 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101' komt van dev tools in je browser als je kijkt naar de request header stuff.
(url in voorbeeld is nieuws van maand mei)