Login als Skript
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
action
anscheinend
aufruf
befehlen
beobachtungsliste
datei
daten
fatal error
format
hang
laden
login
lord
parameter
pawort
rufen
session
test
variable
verbindung
-
Hi!
Ich möchte gern ein Tool für Wikis schreiben, mit dem man seine Beobachtungsliste als RSS empfangen kann.
Die Theorie eines solchen Programms sieht folgendermaßen aus:
___
Zum Login Wikimedia-API ''(http://de.wikipedia.org/w/api.php)'' mit den Parametern "action=login&lgname=user&lgpassword=password&domain=ProgrammdateiURL" aufrufen
Beobachtungsliste mit API als xml laden ''(http://de.wikibooks.org/w/api.php?action=query&list=watchlist&format=xml)''
XML zu RSS(xml) umformen
___
Das Problem liegt in der ersten Sache: Wie rufe ich eine Datei einfach auf? Oder kann man das so machen, als ob man eine Datei in eine Variable speichern wollte?
mfg
Zualio
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Sorry aber ich und wahrscheinlich auch paar andere verstehen dein Problem gerade nicht.
Du schreibst ja schon richtig dass du die PHP Datei mit den Parametern füttern willst -> also einfach hinten dran hängen. Oder meinst du aus einem anderen PHP Script heraus?
Wenn ja, dann benutze doch die curl-Funktionen
<? $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.xyz.de/index.php'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 0); $out = curl_exec($ch); curl_close($ch); echo $out; ?>
Weiß allerdings nicht ob das hier bei Lima auch eingeschaltet ist.
Mußt also mal bissl probieren.
Grüßle -
Ja, ich weiß um mein Problem etwas umständlich Dinge zu erklären...
Ich habe noch nie mit cURL gearbeitet.
Das was du sagst, ist schon fast was ich will.
Das Problem ist, das ich mehrere Seiten nacheinander in einer laden möchte.
Ich muss erst http://de.wikipedia.org/w/api.php?action=login&lgname=user&lgpassword=password&domain=ProgrammdateiURL
aufrufen. Dies aktiviert normalerweise eine Session.
Direkt danach soll http://de.wikibooks.org/w/api.php?action=query&list=watchlist&format=xml in eine Variable geladen werden.
Das Problem:
Wie ist es, wenn man mit einem Skript auf eine Seite zugreift mit der Session? Klappt das genauso wie im Browser? Welche Befehle muss man verwenden? Zweimal eine cURL-Session?
Ich kenne mich mit cURL nicht aus, müsste ich es so machen?:
<? //Login $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://de.wikipedia.org/w/api.php?action=login&lgname=user&lgpassword=password&domain=ProgrammdateiURL'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 0); $out = curl_exec($ch); curl_close($ch); //Daten empfangen $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://de.wikibooks.org/w/api.php?action=query&list=watchlist&format=xml'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 0); $out = curl_exec($ch); curl_close($ch); //Verarbeutung von $out ... //Ausgabe echo $out; ?>
Auf Lima-city funktioniert dies anscheinend nicht, hier (http://zualio.lima-city.de/test.php) gibt er nur aus:
Fatal error: Call to undefined function curl_init() in /home/webpages/lima-city/zualio/html/test.php on line 4
hmmm...
-
cURL ist auch nicht standardmäßig aktiviert und auf den lima-city servern is eigentlich nix aktiviert, was verbindungen "nach draußen" benutzt.
Sollteste auf einem anderem Server ausprobieren, oder den lieben lord fragen.
-AlienDwarf -
Ich habe den Code, den ich oben geschrieben habe, auf einen anderem Server, der cURL unterstützt, hochgeladen (Dabei natürlich Benutzer und Passwort in der ersten URL angegeben), jedoch gibt er aus das ich mich nicht eingeloggt hätte.
Also klappt das Login nicht so wie es soll bzw. er erkennt das Login nicht in der zweiten cURL-Session
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage