Ich versuche aktuell ( um genauer zu sein schon sehr Lange ... ), einen Request nachzubauen, welcher ein Dorf ( X,Y Koordinaten und Truppenanzahl ) in eine Farmliste packt.
Das ganze soll für das Browsergame ' Travian ' sein.
Zunächst einmal ein paar Screens wie das ganze optisch aussieht, falls das für jemanden von Relevanz wäre.
Wenn ich das ganze via Network tab mitverfolge sieht das ganze so aus:
Da in ajax.php?cmd=raidListSlots keine Trp oder sonstiges übertragen wird, denke ich, dass nur das erste wichtig ist.
So sieht aktuell mein Code aus:
PHP Code:
# ================= ADD village to farmlist =================
// get AjaxToken
$getAjaxToken = $client->get('https://tx3.travian.de/build.php?tt=99&id=39');
#$str = HtmlDomParser::str_get_html((string)$getAjaxToken->getBody());
$str = (string)$getAjaxToken->getBody();
$re = '/ajaxToken = \'(.*)\'/m';
preg_match_all($re, $str, $matches,PREG_SET_ORDER, 0);
// Print the entire match result
$ajaxToken = $matches[0][1];
echo $ajaxToken;
// test coordinate 43 -2
$client->post('https://tx3.travian.de/ajax.php?cmd=raidList', [
'form_params' => [
#'cmd' => 'raidList',
'method' => 'ActionAddSlot',
'listId' => '112', // ID of Farmlist
'slotId' => ' ',
'x' => '43' ,
'y' => '-2' ,
't1' => '5', // t1-t10 amount of troops
't2' => '0',
't3' => '0',
't4' => '0',
't5' => '0',
't6' => '0',
't7' => '0',
't8' => '0',
't9' => '0',
't10' => '0',
'ajaxToken' => $ajaxToken
]
]);
//$client->response;
$code = $response->getStatusCode(); // 200
$reason = $response->getReasonPhrase(); // OK
echo $code,$reason;
PHP Code:
cmd=raidList&method=ActionAddSlot&listId=112&slotId=&x=43&y=-2&t1=5&t2=0&t3=0&t4=0&t5=0&t6=0&t7=0&t8=0&t9=0&t10=0&ajaxToken=8b2ea41ed4ee57b6e3fbf47a6c78ec52
Ich komme da echt nicht weiter.
Würde mich über Hilfe/Tipps oder sonstigem freuen.
Falls ihr mehr Infos braucht, von was auch immer, stelle ich diese gerne zur Verfügung (:
Falls mein Vorhaben nicht so schnell umzusetzen ist, und es einiges an Arbeit abverlangt mir das Problem zu beschreiben/helfen, wäre ich auch bereit zu bezahlen.
Lg
Mad0ck






