[Curl] Probleme mit Lima
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktualisieren
anfrage
artikel
atom
code
einbinden
ersten eintrag
funktion
gekommen code
http
index
klappen
login
page
scheitern
setzen
signatur
text
url
zukunft
-
Moin Leute,
ich hab heute mal ein bisschen mit Curl herum gespielt, weil ich meine Signatur im Forum hier automatisch aktualisieren will.
Folgendes ist dabei raus gekommen:
<?php /* Die Folgenden 3 Variablen bitte abändern! */ $RSSFeed = 'http://blog.x421.de/index.php/feed'; $limaNutzer = 'tchab'; $limaPass = ''; /* Als nächstes Lesen wir das erste Item des Feeds ein. Die benötigte SimplePie.php (muss umbenannt werden) gibt es hier: https://github.com/simplepie/simplepie/ */ include 'SimplePie.php'; $feed = new SimplePie(); $feed->set_feed_url($RSSFeed); $feed->enable_cache(false); $feed->init(); $feed->handle_content_type(); $item = $feed->get_item(0); $text = $item->get_title(); $postUrl = $item->get_permalink(); /* cookie ist die letzte Variable, die definiert werden muss, aus Sicherheitsgründen ist die Datei zufällig bennant und wird am Ende wieder gelöscht. */ $cookie = rand().".cookie"; /* Der Login in die Community ist unsere erste Curl-Anfrage */ $ch = curl_init("https://www.lima-city.de/login"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, '&form_username='.$limaNutzer.'&form_password='.$limaPass); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); curl_close($ch); /* Hier schließen wir die erste Anfrage und starten die Änderung der Signatur. */ $ch = curl_init("https://www.lima-city.de/usercp/page%3Asignature"); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt($ch, CURLOPT_POSTFIELDS, '&signature'."[url=\'$postUrl\']Neu im Blog: ".$text."[/url]\n Diese Signatur wurde automatisch aktualisiert! :) Mehr dazu in Kürze auf meinem Blog."); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); curl_close($ch); /* Jetzt noch den Cookie löschen. :) */ unlink ($cookie); ?>
Der Login funktioniert soweit, aber das setzen der Signatur scheitern. Als absoluter Curl-Noob sehe ich meinen Fehler einfach nicht und hoffe auf eure Hilfe.
(Das Script nimmt den ersten Eintrag aus einem RSS/Atom-Feed und verlinkt ihn automatisch in der Signatur, das ist vielleicht nicht nur für mich interessant. ;) )
Grüße,
tchab
Beitrag zuletzt geändert: 25.4.2013 19:11:24 von tchab -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Für die Mitleser eine mögliche Lösung aus dem Chat:
Es muss bei der Signatur ebenfalls das Feld
ausgelesen und mitgesendet werden, da sonst die Signatur nicht übernommen wird. Das könnte wohl schon alles sein.<input type="hidden" name="code" value="..." />
Einfach damit jeder ein "Problem" dieses Skriptes lesen kann.
Liebe Grüße -
hc-tools schrieb:
Wichtig ist noch zu erwähnen, dass die Ausführung direkt auf dem Lima City Webspace leider nicht möglich ist. Hatte gehofft es direkt in Wordpress einbinden zu können um nach der Veröffentlichung meines Artikels die Signatur zu aktualisieren.
Ich schreibe gerade einPlugin für Wordpress, aber das wird dann wohl auch nicht auf dem Space gehen. Aaaabber! In Zukunft wird das Script auch die Lima-API nutzen, sobald diese Funktion verfügbar ist. Dann sollte es auch auf dem Space klappen. :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage