Как правильно отправить JSON с помощью cURL?

Шелест

Новичок
Добрый день,уважаемое сообщество.
Недавно пришлось столкнуться с cURL`ом,понравилось...пытаюсь разобраться лучше.
В связи с этим появилась мысль написать скрипт который бы использовал возможности этой библиотеки.

Идея:
У нас есть сайт,где постят пароли к ближайшим фрироллам во всех популярных покер-румах. Есть возможность через форму выбрать определенный тип игры и определенный рум. Я в скрипте заранее посылаю необходимые параметры и заголовки в обрабатываю уже конечную страницу,только с интересующей информацией.

Что сделано:

С помощью FireBugа было установлено,что данные которые необходимо послать - JSON.
Вопрос: почему,после отработки скрипта в результате я получаю NULL.Где ошибка??Получается,что данные не были отправлены??


Скрипт,скрины FireBug`а
PHP:
<?php
$data = array( "rooms"=>[4],"games"=>["HOLDEM_NOLIMIT"],"daysToDisplay"=>3,
              "payOutTypes"=>[0,1,2],"maxPayout"=>"100000","minPayout"=>"0","isDeposited"=>false,
              "isPassworded"=>true,"isByinned"=>false,"isTicketed"=>false,"isOtherConditioned"=>false,
              "isNoRestriction"=>false,"isPrivate"=>false
);
$json_data = json_encode($data);
[B][/B]
$curl_desc = curl_init('http://www.pokerist.by/json/freerolls/filter/');
curl_setopt($curl_desc, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($curl_desc, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($curl_desc, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl_desc, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl_desc, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($curl_desc, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_desc, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($json_data),
            'Referer: http://www.pokerist.by/freerolls/raspisanie-frirollov/',
            'X-Requested-With: XMLHttpRequest',
            'Accept: application/json, text/javascript, */*; q=0.01')
);
$result = curl_exec($curl_desc);
var_dump(json_decode($result));
Что вижу на оригинальном сайте:
Заголовки:


Post:


Что я вижу в FireBug`e после работы моего скрипта:


Это не парсер и не граббер контента,я уважаю труд разработчиков и авторские права.
Никаких целей,кроме "разобраться как работает и что я делаю не так",я не преследую.
Благодарю за уделенное время,и Ваш опыт.
 
Последнее редактирование:

Шелест

Новичок
Разобрался.
Упустил тот момент,что сервер возвращает HTML-код,а не json....поэтому json_decode($result) - возвращал null.
 

Шелест

Новичок

fixxxer

К.О.
Партнер клуба
Мы в 2015 году, если что-то надо - идешь на https://packagist.org/, с вероятностью 99% находишь. Дерьмо там, конечно, тоже встречается :) надо смотреть в сорцы, хотя наличие тестов обычно 99% признак нормального кода.
 

Шелест

Новичок
Мы в 2015 году, если что-то надо - идешь на https://packagist.org/, с вероятностью 99% находишь. Дерьмо там, конечно, тоже встречается :) надо смотреть в сорцы, хотя наличие тестов обычно 99% признак нормального кода.
Благодарю.Буду знать)
 
Сверху