ich habe mich bereits im Forum umgeschaut und kann mich bereits in Travian einloggen und auch die Farmliste starten. Ich scheitere jedoch an dem Gebäude ausbau da ich über Live Http Headers kein Post mitschnitt bekomme so wie es bei einem Login ist.
Wenn ich den Button drücke wird folgendes mitgeschnitten:
ich habe mich bereits im Forum umgeschaut und kann mich bereits in Travian einloggen und auch die Farmliste starten. Ich scheitere jedoch an dem Gebäude ausbau da ich über Live Http Headers kein Post mitschnitt bekomme so wie es bei einem Login ist.
Wenn ich den Button drücke wird folgendes mitgeschnitten:
[...]
Vieleicht könnt Ihr weiter helfen
Kleiner Tipp vorab, du brauchst Live Http Headers nicht. Schon sehr lange kann man im Browser deiner Wahl die Requests anschauen. Dafür einfach die Entwickler-Tools öffnen (meistens F12) und in den Tab "Netzwerk" (o.ä.) gehen.
Dort findest du dann alle Requests, kannst diese Filtern und natürlich auch Header, Parameter und co. nach schauen.
Beim login wird POST genutzt damit dein Benutzername und (vorallem) dein Passwort nicht oben an der Url als Parameter dran gehangen wird.
Zueinem könnte dann jemand der neben dir ist dein Paswort sehen zum anderen würde dein Passwort im Server Log mit geloggt werden.
Habe mir das ganze mal kurz angeschaut und das ausbauen eines Gebäudes ist relativ einfach, dazu holst du dir einfach den Quellcode der Gebäude Seite (Sprich einfach ein GET Request). Als Beispiel nehme ich jetzt einfach mal das Versteck
Code:
https://ts4.travian.de/build.php?id=30
Sobald du den Quellcode hast suchst du einfach die Stelle raus wo der Button zum ausbauen ist und parst die richtige Url.
Ausschnitt vom Quellcode :
Zum Parsen der Url kannst du ein DOMparser nehmen, Regex oder was du magst.
Als Beispiel wie es mit Regex aussehen könnte:
Somit würdest in diesem Beispiel z.B die Url "dorf2.php?a=30&c=a27489" herrausbekommen.
Wenn du dir die Urls nach einem refresh der Seite anschaust wirst du merken das der Wert des Parameters c immer anders ist. Somit kannst du nicht einfach immer die gleiche Url aufrufen sondern wirst gezwungen die Url aus dem Quellcode zu parsen.
vielen vielen Dank. Mit deiner Antwort hast du mir sehr weitergeholfen. Habe mich mit http web request intensiver beschäftigt und mir reg ex Tutorials angeschaut aber finde einfach nicht die richtigen pattern.
Ich habe erst einmal versucht mir auf der Übersichtsseite die Dorf-ID der Dörfer in einer List Box versucht anzeigen zu lassen aber es klappt einfach nicht:
Die Dorf ID in dem Fall die 26350 in einer Listbox anzeigen lassen und nutze dafür folgenden Code:
Quote:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim r As New System.Text.RegularExpressions.Regex(" href=""?newdid="".*"" class=""><img src=""x.gif""/>")
Dim matches As MatchCollection = r.Matches(RichTextBox1.Text)
Wärst du so gut und packst einmal den gesamten HTML Quellcode in einen PasteBin?
Ich denke was auch gehen dürfte sind die DOM Elemente zu parsen.
Das habe ich mal mit GeckoFX gemacht, das hat ganz wunderbar funktioniert.
Ich denke aber auch das dein Spiel Sockets verwendet und du üben jene auch in der Lage wärst Befehle zu senden.
Ich sehe gerade False hat das schon so beantwortet.
Also wie gesagt DOM Parsen halte ich für am schlausten.
Dein schlimmster Feind ist dann natürlich ein uglyfier, aber ich denke die benutzen keinen.
Dort sind einige Sachen die du beachten solltest, z.B. hast du das Fragezeichen und den Punkt (in x.gif) nicht escaped.
Ein ? Heißt in Regex das das vorherige Zeichen optional ist was bei dir ja nicht der fall ist (Somit hättest du das Fragezeichen escapen müssen \?)
Ein Punkt heißt soviel wie "jedes belibige Zeichen", das hättest du also auch escapen (\.) müssen damit er wirklich nach einem Punkt geschaut wird.
Desweiteren hast du mehrfach "" im Regex, was dort nichts zu suchen hat (da im Quellcode keine "" zu sehen sind).
Auf Regex101 kannst du dein Regex gut testen, die "rausgefilterten" Werte werden im Quellcode farbig markiert und rechts auch noch einmal angezeigt.
Für dein Fall wäre z.B. folgender Regex möglich (zu beachten sind natürlich die verwendeten Flags)
Lies dich am besten mehr in Regex ein oder nutz dein Dom parser (musst du dich ggf. aber auch einlesen).
Der Liebe False hat mir schon einiges zu dem Thema beigebracht, und kann nun eigentlich mehr oder weniger ( auch wenns teilweise nicht so schön gecodet ist ) alles automatisieren was ich will o.o
Ist nach 1-2 Beispielen auch relativ schnell zu verstehen
c# httpwebrequest Travian 12/07/2017 - .NET Languages - 2 Replies Gude Leute ich hätt da mal ein anliegen ich will mir ein kleines Tool zur vereinfachten bedinung von Travian schreiben nur leider bekomme ich das irgendwie nicht auf die Reihe.
da mein Code nicht so recht funktioniert hat habe ich mir den code von jemand anderes mal geklaut aber der ergibt das gleiche problem.
Das Probleme ist er zeigt die Seite nicht richtig an und er baut keine truppen wenn ich auf Button1 click.
wenn mir einer das vielleicht mal flicken könnte oder mir erklären...