Treasure per PHP erstellen

06/29/2014 09:48 gegi123#1
Ich möchte einen Online Treasurecreator machen allerdings weiß ich nicht wie ich eine Treasure erstelle alle meine Versuche sind fehlgeschlagen. Weiß jemand wie man das macht?
06/29/2014 12:59 tayfe#2
Ich weiß nicht wie es geht, allerdings solltest du es so herausfinden können:

Geh auf die Seite, auf der die Treasure erstellt wird und fülle das entsprechende Formular aus. Drücke dann auf Submit. Dann solltest du dir ein AddOn oder generell die Möglichkeit besorgen, POST-Werte mitzulesen.
Dann kannst du sehen, welche Werte übergeben werden und dann selber mit PHP einen Link erstellen, der ebenfalls per POST die entsprechenden Werte übergibt.

Das wäre meine herangehensweise. Vllt. bietet e*pvp aber auch eine Schnittstelle für so etwas an? Das weiß ich allerdings nicht.
06/29/2014 13:05 PC Jones#3
Quote:
Originally Posted by tayfe View Post
Ich weiß nicht wie es geht, allerdings solltest du es so herausfinden können:

Geh auf die Seite, auf der die Treasure erstellt wird und fülle das entsprechende Formular aus. Drücke dann auf Submit. Dann solltest du dir ein AddOn oder generell die Möglichkeit besorgen, POST-Werte mitzulesen.
Dann kannst du sehen, welche Werte übergeben werden und dann selber mit PHP einen Link erstellen, der ebenfalls per POST die entsprechenden Werte übergibt.

Das wäre meine herangehensweise. Vllt. bietet e*pvp aber auch eine Schnittstelle für so etwas an? Das weiß ich allerdings nicht.
Der Ansatz klingt richtig. Eine API bietet Elitepvpers allerdings nicht an, es gibt nur eine zum Auslesen der elite*gold Transaktionen.

LG
06/29/2014 14:10 3lue#4
PHP cURL ist das richtige Stichwort. Am besten mal nach “php curl Formular ausfüllen“ googlen.
06/29/2014 16:16 マルセル#5
PHP Code:
public function cURL($sURL$aData = array()) {
        
$oCURL curl_init();
        
curl_setopt($oCURLCURLOPT_COOKIEJARdirname(__FILE__) . '/elitepvpers.cookies.txt');
        
curl_setopt($oCURLCURLOPT_COOKIEFILEdirname(__FILE__) . '/elitepvpers.cookies.txt');
        
curl_setopt($oCURLCURLOPT_FOLLOWLOCATION1);
        
curl_setopt($oCURLCURLOPT_HEADER0);
        
curl_setopt($oCURLCURLOPT_RETURNTRANSFERtrue);
        
curl_setopt($oCURLCURLOPT_TIMEOUT30);
        
curl_setopt($oCURLCURLOPT_URL$sURL);
        
curl_setopt($oCURLCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0');
        if (
count($aData) > 0) {
            
curl_setopt($oCURLCURLOPT_POST1);
            
curl_setopt($oCURLCURLOPT_POSTFIELDS$aData);
        }

        
$sResponse curl_exec($oCURL);

        if (
strpos($sResponse'SECURITYTOKEN')) {
            
$this->securitytoken explode('";'explode('SECURITYTOKEN = "'$sResponse)[1])[0];
        }

        
curl_close($oCURL);

        return 
$sResponse;
    } 
Ausschnitt aus meiner elitepvpers Klasse, Treasure URL übergeben und ein Array mit den Post Parametern, fertig.
07/11/2014 20:02 MRs.#6
Quote:
Originally Posted by マルセル View Post
PHP Code:
public function cURL($sURL$aData = array()) {
        
$oCURL curl_init();
        
curl_setopt($oCURLCURLOPT_COOKIEJARdirname(__FILE__) . '/elitepvpers.cookies.txt');
        
curl_setopt($oCURLCURLOPT_COOKIEFILEdirname(__FILE__) . '/elitepvpers.cookies.txt');
        
curl_setopt($oCURLCURLOPT_FOLLOWLOCATION1);
        
curl_setopt($oCURLCURLOPT_HEADER0);
        
curl_setopt($oCURLCURLOPT_RETURNTRANSFERtrue);
        
curl_setopt($oCURLCURLOPT_TIMEOUT30);
        
curl_setopt($oCURLCURLOPT_URL$sURL);
        
curl_setopt($oCURLCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0');
        if (
count($aData) > 0) {
            
curl_setopt($oCURLCURLOPT_POST1);
            
curl_setopt($oCURLCURLOPT_POSTFIELDS$aData);
        }

        
$sResponse curl_exec($oCURL);

        if (
strpos($sResponse'SECURITYTOKEN')) {
            
$this->securitytoken explode('";'explode('SECURITYTOKEN = "'$sResponse)[1])[0];
        }

        
curl_close($oCURL);

        return 
$sResponse;
    } 
Ausschnitt aus meiner elitepvpers Klasse, Treasure URL übergeben und ein Array mit den Post Parametern, fertig.
Danke, genau das hab ich auch gesucht! ;)
Ist das eigentl. erlaubt?
07/11/2014 20:04 マルセル#7
Solange das nicht alles automatisch im Sekundentakt Requests an elitepvpers sendet ist das in Ordnung meint Luke. Es sollte nur per Knopfdruck oder mit großem Delay genutzt werden
07/20/2014 19:49 Serraniel#8
Ja. Ich nutze auch ne selbstgeschriebene API um Treasures per PHP zu erzeugen und auch direkt e*gold zu versenden. Projekt wurde von Luke damals auch genehmigt.

@TE: Du brauchst nen Cookie bzw. Login per PHP mit cUrl und danach das Treasurerstellen ebenfalls wie bereits genannt per cUrl.