В общем я еще только учусь, попытался тут сформировать post запрос, для покупки определенного товара в определенной браузерной игре.
Запрос перехватывал чарльзом, сформировал на мой взгляд верно(но это не так), а ничего не покупается.
В общем задача:
-Доделать отправку запроса.
-Показать где была ошибка.
PHP код:$url = 'http://'.$serv.'.darkorbit.bigpoint.com/indexInternal.es'; // URL ????? ?? ??????? ????? ??????????????
$urlTo = 'http://'.$serv.'.darkorbit.bigpoint.com/indexInternal.es'; // URL ?? ??????? ????? ????? POST ??????
$serv = c("edit5")->text; // ??? ??????
$post = 'reloadToken=ddddddddddddd&action=internalDock&tpl=internalDockShop&subAction=buy&flashNoHelp=0&category=special&itemId=51&itemName=%D0%9A%D0%B0%D0%BC%D1%83%D1%84%D0%BB%D1%8F%D0%B6+%D1%82%D0%B8%D0%BF%D0%B0+%D0%90&shortName=%D0%94%D0%9B%D0%AF+%D0%97%D0%90%D0%A9%D0%98%D0%A2%D0%9D%D0%9E%D0%99+%D0%9C%D0%90%D0%A1%D0%9A%D0%98%D0%A0%D0%9E%D0%92%D0%9A%D0%98&paymentLink=&ammoType=&itemLevel=1&itemMaxAmount=-1&itemAmount=1&buyItemName=&itemPrice=500+%D1%83%D1%80.&sellPrice=500+%D1%83%D1%80./'; // POST данные
$ch = curl_init(); // Инициализируем сеанс CURL
curl_setopt($ch, CURLOPT_URL, $url); // Заходим на сайт
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Делаем так, чтобы страница не выдавалась сразу в поток, а можно было ее записать в переменную
$html = curl_exec($ch); // Имитируем заход на сайт
curl_setopt($ch, CURLOPT_URL, $urlTo); // Устанавливаем адрес куда будем слать POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt($ch, CURLOPT_POST, true); // Говорим, что информация будет отправляться методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Передаем POST данные
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Иногда бывает, что после отправки данных происходит редирект heaer('Location:...').
// Этот параметр говорит о то, чтобы мы следовали за ними, а не оставались на месте после отправки данных
$html = curl_exec($ch); // Записываем пришедшие данные в переменную
curl_close($ch); // Закрываем сеанс работы CURL
echo $html; // И вуаля Выводим авторизованную страницу


Ответить с цитированием

