Skip to content

­čöŚ Standalone function to use the API of pr0gramm

License

Notifications You must be signed in to change notification settings

RundesBalli/pr0gramm-apiCall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pr0gramm-apiCall

PHP Funktion um die API von pr0gramm.com zu benutzen. Es handelt sich hierbei nicht um eine lib, sondern um eine Standalone-Funktion um die API von pr0gramm.com mit einem Sessioncookie zu verwenden.

Grundlegendes

Die Funktionsdatei muss per require_once("/pfad/zur/apiCall.php"); in das PHP Script eingebunden werden. Die apiCall.php und die config.php m├╝ssen im selben Verzeichnis liegen. Falls die PHP Dateien auf einem ├Âffentlichen Webserver liegen, so ist darauf zu achten, dass die Datei cookies.txt nicht eingelesen werden kann (z.B. durch Unterbindung in der .htaccess Datei).

Der Login

mit Bot-Account (Nutzer-Bot)

Das Script loggt sich mit den in der config.php angegebenen Nutzerdaten auf pr0gramm.com ein und speichert die Sitzung.

ohne Bot-Account (mit normalem Nutzeraccount)

Da ein Captcha erforderlich ist muss der Login h├Ąndisch erfolgen. Um keine aufw├Ąndige Fummelarbeit mit der cookies.txt Datei zu haben, kann man das Captcha ├╝ber die Datei captchaLogin.php l├Âsen.
Dazu ist es erforderlich php captchaLogin.php auszuf├╝hren (alternativ: Aufruf ├╝ber Webbrowser, wenn kein Zugriff auf das Terminal). Alle weiteren Anweisungen gibt das Script automatisch aus.

Die Sitzung an sich

Die G├╝ltigkeit der Sitzung wird bei jedem Einbinden der Datei einmalig ├╝berpr├╝ft. Wenn die Funktion 100x innerhalb eines Scriptaufrufs genutzt wird, so wird nur einmal der Login ├╝berpr├╝ft.

Nonce

F├╝r manche Funktionen von pr0gramm.com (zum Beispiel das Versenden von PNs) ist die sogenannte Nonce erforderlich. Sie kann ├╝ber die Variable $nonce in die Postdaten mit eingef├╝gt werden.

Einrichtung

Die config.template.php muss in config.php umbenannt oder kopiert werden. Die darinliegenden Variablen m├╝ssen angepasst werden und sind entsprechend kommentiert.

Nutzung

Die Parameter der Funktion sind in der apiCall.php ausf├╝hrlich beschrieben. https://github.com/RundesBalli/pr0gramm-apiCall/blob/master/apiCall.php#L20