[PHP] Request nachbauen

04/07/2019 10:34 Mad0ck#1
Guten Morgen,

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_ORDER0);


// 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
Wenn ich das ganze nun erneut absende mit "Edit and Resend":

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 
Den RequestBody hätt ich ja eigentlich zusammengebastelt .-.

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