Hallo Community,
Es gibt da eine schöne Webseite: http://watchout4snakes.com/wo4snakes/Random/RandomWord
Diese generiert bei jedem Besuch ein zufälliges Wort.
Ich möchte nun dieses Wort in einem Consolen Programm abgreifen und für meine Zwecke nutzen.
Gibt es da Möglichkeiten wie ich das ganze hinbekomme? Per WebClient oder HtmlWebRequest bekomme ich immer nur den Quelltext der seite. Ich möchte jedoch nur dieses Wort was dort generiert wird.
Mit freundlichen Grüßen,
trex0113
Hallo trex0113,
schau dir am besten Libraries wie *Html Agility Pack - https://htmlagilitypack.codeplex.com *AngleSharp - https://github.com/AngleSharp/AngleSharp
an.
Per WebClient oder HtmlWebRequest bekomme ich immer nur den Quelltext der seite.
Es scheint als hättest du ein Verständnisproblem. Natürlich liefert eine Anfrage den Quelltext der Seite, statt der grafischen Darstellung. Wenn du "nur" Quelltext bekommst, funktioniert deine Anfrage bereits tadellos. Das ist Grund zur Freude 😃
Jetzt liegts an dir oder einer fertigen Bibliothek, das Wort von dort herauszulesen.
Da bei mir Javascript zunächst blockiert wird, hab ich es auf der Seite irgendwie geschafft, nur das Zufallswort angezeigt zu bekommen, ohne das ganze drumherum. Nachvollziehbar ist es leider nicht mehr. Vielleicht hat die Seite so einen Modus, dann kannst du dir das Wort wirklich ohne Aufwand selbst herauslesen.
Wie legal das ist weiß ich übrigens nicht. Muss man ja leider immer dazusagen.
With a POST request you get the random Word. To inspect, use Fiddler Web Debugger
private static string GetRandomWord()
{
var request = (HttpWebRequest)WebRequest.Create("http://watchout4snakes.com/wo4snakes/Random/RandomWord");
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.Method = "POST";
request.ContentLength = 0;
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
using (var responseReader = new StreamReader(responseStream, Encoding.UTF8))
{
return responseReader.ReadToEnd();
}
}
}
}
lG