So laden Sie eine Webseite in Metrostyle App (WinRT) und C# herunter
-
22-10-2019 - |
Frage
Ich erstelle eine Metrostyle -App und möchte eine Website -API verwenden, die auf den HTTP -GET -Methoden basiert. Zum Beispiel sollte ich die von dieser URL zurückgegebene XML herunterladen:
websitehost.com/api/login.php?u=username&p=password
Das Problem ist, dass die neuen Metrostyle -Apps nicht zulassen, dass ich viele der Methoden, die ich seit Jahren in .NET verwendet habe, anwenden. Wie kann ich das zurückgegebene XML -Dokument herunterladen und analysieren?
Lösung
Sie könnten danach suchen:
public async Task<string> DownloadPageStringAsync(string url)
{
HttpClientHandler handler = new HttpClientHandler()
{ UseDefaultCredentials = true, AllowAutoRedirect = true };
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
Andere Tipps
Sie können entweder die verwenden Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri)
Methode zum automatischen Erwerb und Analyse des XML oder Sie könnten manuell ein verwenden Windows.Networking.BackgroundTransfer.DownloadOperation
Instanz, um den Webdienst anzurufen und die Daten zu erwerben, und Windows.Data.Xml.Dom.XmlDocument.LoadXml(string)
die Daten analysieren.
Sie sollten in der Lage sein zu benutzen können
var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));
Und dann tun Sie mit den Daten alles, was Sie brauchen, einschließlich des Ladens mit Xmldocument oder Xelement oder so weiter.