Webautomatisierung mit WebRequests - Login

08/11/2014 12:21 Terreox#1
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)
01/29/2015 22:09 gerrus#2
Hallo!
Vielen Dank für dieses Tutorial!
Hat vlt jemand weitere Tutorials in diese Richtung gesehen?
02/04/2015 15:39 gerrus#3
Hallo ,

wie kann man den jetzt diesen Button "anklicken"?
Das Problem ist ja,dass der Tocken sich immer ändert?!
[Only registered and activated users can see links. Click Here To Register...](Hmm Bild wird nicht angezeigt)
Mein govnoCode:
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

Vielen Dank!
02/06/2015 22:36 alpines#4
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.
02/14/2015 02:30 user11a#5
Thanks for tutorial, help friend also with it.
09/18/2015 00:35 ZaanyHD#6
Fehler 1 "System.Net.WebRequest" enthält keine Definition für "CreateHttp"
09/18/2015 13:45 #Saiirex#7
Quote:
Originally Posted by ZaanyHD View Post
Fehler 1 "System.Net.WebRequest" enthält keine Definition für "CreateHttp"
Stell mal dein .Net Framework auf 4.0 um.
09/22/2015 15:11 TheKingTurko#8
Quote:
Originally Posted by #Saiirex View Post
Stell mal dein .Net Framework auf 4.0 um.
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?
09/22/2015 19:15 .SkyneT.#9
Ist veraltet, inzwischen sollte man eher auf [Only registered and activated users can see links. Click Here To Register...] zurückgreifen.
09/22/2015 19:29 tolio#10
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.
09/28/2015 12:19 .SkyneT.#11
Quote:
Originally Posted by tolio View Post
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: [Only registered and activated users can see links. Click Here To Register...]

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, [Only registered and activated users can see links. Click Here To Register...]). Mir fällt gerade nichts ein was hiermit nicht abgedeckt wird :)

WebClient wird im Video soweit ich das gesehen habe nicht verwendet.
09/28/2015 21:23 mikaxxl#12
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.

[Only registered and activated users can see links. Click Here To Register...]
09/29/2015 22:48 tolio#13
^ 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.
[Only registered and activated users can see links. Click Here To Register...]

lediglich der constructor ist entsprechend gekennzeichnet und in der reference source steht auch warum:
[Only registered and activated users can see links. Click Here To Register...]

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 [Only registered and activated users can see links. Click Here To Register...] 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.