Kamil
Walas
Starszy Programista
PHP, Zend Certified
Engineer
Temat: POST przez CURL
Witam,mam problem z wysłaniem danych za pomocą CURL'a. Klikając przez przeglądarkę LiveHTTPHeaders zwraca mi coś takiego:
http://s35.ogame.onet.pl/game/index.php?ajax=1&page=flottenversand&session=408df501c62c
POST /game/index.php?ajax=1&page=flottenversand&session=408df501c62c HTTP/1.1
Host: s35.ogame.onet.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://s35.ogame.onet.pl/game/index.php?page=galaxy&session=408df501c62c&no_header=1
Content-Length: 125
Cookie: vc1=1245662806; prsess_171487=6d74a86a1d8d77c02087fa323ba4fbe1; login_171487=U_pl35%3AXaar%3Aaedef9083cb8ad4375c79efb0ab9f22c; PHPSESSID=15cc03d184cdfed281f4b857405cff5c
Pragma: no-cache
Cache-Control: no-cache
session=408df501c62c&order=6&galaxy=1&system=229&planet=15&planettype=1&shipcount=1&speed=10&reply=short&rndval=1245660493432
HTTP/1.x 200 OK
Date: Mon, 22 Jun 2009 08:48:09 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 28
Connection: close
Content-Type: text/html; charset=utf-8
----------------------------------------------------------
Moja cześć w CURL wygląda następująco:
$c = curl_init();
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($c, CURLOPT_URL, 'http://s35.ogame.onet.pl/game/index.php?ajax=1&page=flottenversand&session='.$konfiguracja['SESJA']);
curl_setopt($c, CURLOPT_HEADER, 0);
curl_setopt($c, CURLOPT_COOKIE, $cookie);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS,
'session='.$konfiguracja['SESJA'].'&order=6&galaxy=1&system=229&planet=15&planettype=1&shipcount=1&speed=10&reply=short&rndval='.substr(str_pad(str_replace('.', '',microtime(true)), 13,'0'), 0 , 13));
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($c, CURLOPT_REFERER, 'http://s35.ogame.onet.pl/game/index.php?page=galaxy&session='.$konfiguracja['SESJA'].'&no_header=1');
$s = curl_exec($c);
Jednak to nie działa. Dodam, że rndval to wynik new Date().getTime() a cześć substr(str_pad(str_replace('.', '',microtime(true)), 13,'0'), 0 , 13) daje w zasadzie ten sam wynik w PHP. Zwykle otwieranie linków mi działa, natomiast nie chce mi zadziałać wysłanie danych za pomocą POST.
Jakby miał ktoś pomysł co robię źle to bedę wdzięczny.Kamil Walas edytował(a) ten post dnia 22.06.09 o godzinie 13:59