Witam jeszcze raz i jeśli mogę to proszę o pomoc.
Mam pewien problem a dokładnie chcę zrobić postowanie komentarzy na ścianę (tak sobie nazwali blok na poszkole) co ma służyć jako newsy wysyłane właśnie z cUrla. Tylko mam pewien problem kod ogólnie niby jest dobry lecz nie mogę tego wysłać i nie za bardzo wiem czemu wszystko jest dobrze ustawione Refferer jak i Url na który ma być wysyłany Post wraz z Tokenem i czasem. Komentarze są wysyłane Ajaxem bez przeładowania strony i tutaj nie wiem czy to jest powodem nie wysyłania wiadomości w przypadku Privów (bez Ajaxa) wszystko działa dobrze cały kod wygląda następująco:
<?
$cookie = dirname(__FILE__) . '/cookiesk.txt'; $user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
}
}
$postFields['email'] = '**********';
$postFields['pass'] = '**********';
$postFields['reg'] = '0';
$postFields['submit'] = 'Zaloguj mnie';
$cu = curl_init();
curl_setopt($cu, CURLOPT_URL, "http://poszkole.pl/login");
curl_setopt($cu, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($cu, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($cu, CURLOPT_COOKIE, $cookie);
curl_setopt($cu, CURLOPT_USERAGENT, $user_agent);
curl_setopt($cu, CURLOPT_POST, 1);
curl_setopt($cu, CURLOPT_POSTFIELDS, createPostString($postFields));
curl_setopt($cu, CURLOPT_REFERER, "http://poszkole.pl/profil");
curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cu, CURLOPT_FOLLOWLOCATION, 1);
$wys = curl_exec($cu);
curl_close($cu);
$adres = "19188731";
$url = "http://poszkole.pl/sciana/".$adres;
$wiadomosc = "Test wiadomości.";
$user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$site = curl_exec($ch);
preg_match('#name="postToken" value="(.*)"#', $site, $token); preg_match('#name="postTokenTime" value="(.*)"#', $site, $czas);
$url = "http://poszkole.pl/sciana/add-post";
$postfieldw = "message=".$wiadomoscw."&wall_id=".$adres."&post_token=".$tok."&post_token_time=".$czas[1];
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://poszkole.pl/sciana/".$adres);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfieldw);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec ($ch);
$url = "http://poszkole.pl/login/wyloguj";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec ($ch);
echo "Skrypt został wylogowany"; ?>
I właśnie nie wiem gdzie popełniam błąd. Sprawdzałem post poprzez Live HTTP Headers i się niby wszystko zgadza lecz już wysyłać nie chce.
Prosiłbym o szybką odpowiedź z góry dziękuję.