In diesem Tutorial möchte ich euch ein wenig die Webautomatisierung mit WebRequests näher bringen.
Ich sehe sehr oft, dass viele sich mit WebBrowser Controls rumärgern, um eine Webseite zu automatisieren, obwohl überhaupt keine grafische Umsetzung der Webseite benötigt wird.
Daher werde ich in diesem Video den Loginprozess bei OGame grob analysieren und hinterher in C# automatisieren.
Über ein kleines Feedback würde ich mich freuen, vorallem da dies mein erstes Videotutorial ist.
Ich werde in Zukunft auch noch mehrere Tutorials veröffentlichen, die dann auch etwas besser gemacht sind Dieses Tutorial hab ich gestern relativ schnell aufgenommen und ist daher nicht ganz so tiefgreifend wie es sein könnte.
Falls ihr noch weitere Themenideen habt, so würde ich mich auch über Themenvorschläge freuen
(Der Ton ist leider nicht ideal, da ich teilweise nicht direkt am Mikro war)
wie kann man den jetzt diesen Button "anklicken"?
Das Problem ist ja,dass der Tocken sich immer ändert?!
(Hmm Bild wird nicht angezeigt)
Mein govnoCode:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Web;
namespace oGameBot { class Program { static void Main(string[] args) { var cookieContainer=new CookieContainer();
using (var resp = (HttpWebResponse)req.GetResponse()) { using (var reader = new StreamReader(resp.GetResponseStream())) { content = reader.ReadToEnd();
} }
Console.ReadKey();
}
} }
Ich weiß..Ist alles andere als "guter Code" , aber mir geht es erstmal, um die Grundlagen.
Bis dahin bin ich ja mit WebRequest Methode "POST" hingekommen, aber ich weiß nun nicht wie ich den Button auslösen soll,weil sich der Tocken im POST immer ändert.
Bitte um eine kleine Hilfestellung
Es ist ein Token, kein Tocken. Wenn sich der immer ändert dann lies ihn doch aus den geschickten Headern bzw. aus dem Source heraus und schicke ihn mit.
Empfiehlt es sich noch diese Methoden zu nutzen? Oder gibt es inzwischen bessere Möglichkeiten? Ich würde gerne im späteren Verlauf kleinere Bots schreiben?
-- Funktioniert mit .Net Framework 4.0 auch nicht.
-- Ich habe gesehen einen Beispiel auf der Seite von Microsoft gesehen:
Ich würde sagen das Tutorial ist etwas Outdated? Die Eigenschaften der Funktion WebRequest, ist anderst als im Tutorial. Beispielsweise wird "Host" nichtmehr verwendet?
veraltet ist das falsche wort, der neue httpclient ist eher eine art update für den alten webclient. beides funktioniert im kern über webrequets und das wird auch so bleiben, deswegen ist es kein problem auch selber direkt webrequests zu nutzen wenn man wirklich die ganzen einstellungsmöglichkeiten braucht.
da keine der klassen als deprecated markiert ist kann jeder die klasse nutzen mit der er am schnellsten am ziel gelangt.
da keine der klassen als deprecated markiert ist kann jeder die klasse nutzen mit der er am schnellsten am ziel gelangt.
Dann werde ich mal etwas genauer...
WebRequest ist in Ordnung, diese sind bis auf 1Methode und 1Property in keinster Hinsicht veraltet. Jedoch wird hier im Tutorial WebRequest.CreateHttp() verwendet (was aus irgendeinem, m.M.n unlogischen Grund nicht als veraltet markiert ist).
Das gibt eine Instanz von HttpWebRequest zurück und diese Klasse ist definitiv obsolete (=veraltet). Siehe:
Quote:
deswegen ist es kein problem auch selber direkt webrequests zu nutzen wenn man wirklich die ganzen einstellungsmöglichkeiten braucht.
Auch der HttpClient bietet viele Einstellungen (genauer: alle aus RFC2621, ). Mir fällt gerade nichts ein was hiermit nicht abgedeckt wird
WebClient wird im Video soweit ich das gesehen habe nicht verwendet.
Libcurl ist auch eine sehr schöne Library. Relativ easy zu handlen und hat ein integriertes Cookie Handling. Also relativ enstpannt, wenn der Webentwickler alles mit csrf tokens und andere cookies vollgeboxt hat.
^ kann man machen, aber wie schon festgestellt kann man in .Net das ganze auch einfach mit hausmitteln machen.
@skynet
also bei mir wird die httpwebrequest klasse nicht als obsolete angezeigt, weder im msdn noch in der reference source hat die klasse eine entsprechendes obsolete custom attribute.
lediglich der constructor ist entsprechend gekennzeichnet und in der reference source steht auch warum:
genau deswegen soll man eben die create methode in der webrequest klasse nutzen:
Quote:
Do not use the HttpWebRequest constructor. Use the WebRequest.Create method to initialize new HttpWebRequest objects. If the scheme for the Uniform Resource Identifier (URI) is http:// or Create returns an HttpWebRequest object.
noch kurz zum webclient, ich hab mir das video nicht angeschaut, ich wollt lediglich die möglichkeiten nennen die bei diesem thema in frage kommen.
[.Net] Generic WebRequests 04/12/2015 - Coding Snippets - 0 Replies Kurz:
Da ich keine Lust hatte für jede Art von Resourcen die ich in einem WebBot abrufe (String, Image, Binary, ...) eine extra Methode zu bauen, hab ich mir überlegt eine generische Lösung zu basteln. Die Klasse hat keinen Anspruch eine vollständige Allround Lösung zu sein sondern ist für ein aktuelles Projekt entstanden und hat entsprechende Funktionen.
Länger:
Ganz von alleine gehts natürlich nicht, deswegen kann man für jeden Type einen Converter angeben welchen den responseStream des...
Hilfe bei webrequests 06/21/2014 - .NET Languages - 5 Replies Hey,
Bin gerade dabei Webrequests zu lernen (VB) & bin auf ein Problem gestoßen..
Habe mir ein paar tutorials angeschaut & die haben immer ein "Http live headers" benutzt.
Dieses Tool finde ich nicht bzw wenn ich eins finde gibt es mir nur Sachen mit denen ich nichts anfangen kann.
Da ich mir sicher bin das manch einer hier webrequests kann & aktiv benutzt, würde ich euch gerne Fragen welches tool ihr benutzt? (Am besten Chrome)
WebRequests in Verbindung mit Javascript 04/26/2014 - .NET Languages - 1 Replies Ist es möglich, den JavaScript Code einer Seite auszuführen, dass (für mich) wertvoller Code nachgeladen wird. Ist das möglich, oder muss ich dann wohl oder übel den WebClient nutzen?
Danke im Vorraus für die Antworten.
MfG
Requi
Verstehe was bei Webrequests nicht... 08/29/2013 - .NET Languages - 2 Replies Unzwar hab ich folgendes Problem, hier aber erstmal der Beispielcode:
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Namespace Examples.System.Net
Public Class WebRequestPostExample
Public Shared Sub Main()
Mehrere Webrequests / Cookiecon löschn 07/22/2013 - .NET Languages - 14 Replies Bräuchte mal hilfe, habe es schon gegoogelt aber finde nichts.
Mein Programm loggt sich mit mehreren Accounts über 'nen Webrequest ein, und soll dann ausgeben ob sie gehen oder nicht.
Der Login funktioniert, allerdings nur mit dem 1 Acc, d.h. Wenn der 1 Acc geht, werden alle als gehend angezeigt, und wenn der erste nicht geht alles andrsrum.
Mein Kolleg meinte das liegt am CookieCon, ich weis aber nicht wie man diesen leert oder löscht. Eine andere alternative wäre auch für jeden...