Dodanie samego wpisu nie stanowi większego problemu, ale pojawia się spory problem z kodowaniem UTF-8.
Znalazłem prosty program windowsowy do dodawania wpisów na pingera i jemu się udaje, ale wysyła dane jako multipart/form-data w wielu żądaniach.
POST /auth_add_message.xml HTTP/1.1 Content-Type: multipart/form-data; boundary=---------------------------- Host: a.pinger.pl Content-Length: 385 Expect: 100-continue Connection: Close HTTP/1.1 100 Continue ------------------------------ Content-Disposition: form-data; name="text"; [url="http://www.yafud.pl/324/"]http://www.yafud.pl/324/[/url] Dostałam przez pomyłkę SMS-a od mojej matki, przeznaczonego dla mojego ojczyma: \"Młoda zostaje na noc u koleżanki. Zrobimy to w jej pokoju?\" YAFUD ------------------------------ Content-Disposition: form-data; name="show_at_main"; 0 ------------------------------
Moje żądanie wysyłane z poziomu CURLa wygląda tak:
POST /auth_add_message.xml HTTP/1.1 User-Agent: Pinger PHP API Host: a.pinger.pl Accept: */* Authorization: Basic Y2h5YmEgc2UgamFqYSByb2Jpc3ogOik= Content-Length: 328 Content-Type: application/x-www-form-urlencoded text=http%3A%2F%2Fwww.yafud.pl%2F324%2F+Dosta%B3am+przez+pomy%B3k%EA+SMS-a+od+mojej+matki%2C+przeznaczonego+dla+mojego+ojczyma%3A+%22M%B3oda+zostaje+na+noc+u+kole%BFanki.+Zrobimy+to+w+jej+pokoju%3F%22+YAFUD&show_at_main=0&tags=%23wpadka%2C%23rozrywka%2C%23lol%2C%23autentyki%2C%23rotfl%2C%23humor%2C%23wtopa%2C%23yafud%2C%23fail
Efekty działania obu żądań widoczne są na http://test321.pinger.pl/.
Widać, że w przypadku CURL kodowanie się spsuło.
Może ktoś z forumowiczów wie jak rozwiązać ten problem ? Interesuje mnie jakiekolwiek rozwiązanie dające się uzyskać w oparciu o CURLA.
--------------------------------------------------------------------------------------------------------------------------------------------
EDIT:
Udało mi się znaleźć sposób na multipart/form-data; Wklejam tutaj rozwiązanie na wypadek gdyby ktoś inny tego szukał.
curl_setopt($this->_stream, CURLOPT_HTTPHEADER, $sHeaders); curl_setopt($this->_stream, CURLOPT_USERAGENT, $this -> _useragent); $tags = "#wpadka,#rozrywka,#lol,#autentyki,#rotfl,#humor,#wtopa,#yafud,#fail"; $submitdata = ""; $submitdata .= "------------------------------\r\n"; $submitdata .= "Content-Disposition: form-data; name=\"text\"\r\n\r\n"; $submitdata .= $strMessage; $submitdata .= "\r\n------------------------------\r\n"; $submitdata .= "Content-Disposition: form-data; name=\"show_at_main\"\r\n\r\n"; $submitdata .= "0"; $submitdata .= "\r\n------------------------------\r\n"; $submitdata .= "Content-Disposition: form-data; name=\"tags\"\r\n\r\n"; $submitdata .= $tags; $submitdata .= "\r\n------------------------------\r\n"; curl_setopt($this->_stream, CURLOPT_POST ,1); curl_setopt($this->_stream, CURLOPT_POSTFIELDS ,$submitdata); curl_setopt($this->_stream, CURLOPT_RETURNTRANSFER, 1); return curl_exec($this->_stream);
mam nadzieje ze komuś się przyda