Я пытался получить json и некоторые элементы заголовка, используя этот код: И я смог распечатать нужные мне детали, но кажется, что я не могу на самом деле "взять их.Как получить json строку и элемент заголовка с помощью cURL
$url = 'http://192.168.254.211:8080/sampleOnCurl/auth/login';
$initCurl = curl_init($url);
curl_setopt_array($initCurl,
array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
// CURLOPT_NOBODY => true,
CURLOPT_RETURNTRANSFER => true,
// CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => $loginData,
CURLOPT_HEADER => true,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'jrr: 7ffed684cbe1fc085b7b47dc4e508e99a5effee9',
'slave: 01bdfcc20777907712e97f7bd2faeb978584f317',
'spoil: ' .$timeStamp
)
)
);
$result = curl_exec($initCurl);
print_r($result);
//prints jrr, slave, spoil
$result = json_decode($result);
// $header = curl_getinfo($initCurl);
curl_close($initCurl);
и это то, что я получаю
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
jrr: 2e278657295bdfae2bc49b0bc6ad38363e9b149b
slave: d77985811796708b89471b4d29a904b224d41dde
spoil: 20130916222842701
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 16 Sep 2013 14:28:42 GMT
{"true":null}
Я хочу, чтобы получить {"true":null}
и преобразовать его в массив, чтобы проверить, если индекс true
и получить jrr
, slave
и spoil
значения .. без использования get method.
Строка, которая напечатана, похоже, не находится в json. Я предполагаю, что проблема в моих вариантах завитка. Что я могу пропустить?
Вот что мне нужно сделать: получить JSON {"true":null}
получить заголовок ответа: Дж.Р.Р., раб, испортит избегать использования Получа
благодаря
Вы можете использовать 'HEAD' для получения заголовков (сервер будет интерпретировать его как' GET', но не будет отправлять контент в ответ). Но чтобы получить JSON, вы должны использовать 'GET' или' POST'. –
Я не могу использовать его, если он «GET», потому что сервер вернет мне ошибку, только разрешен «POST». На этой заметке конкретно, что такое 'HEAD'? 'Но для того, чтобы получить JSON, вам нужно использовать GET или POST', пожалуйста, проконсультируйтесь? поскольку вы можете видеть, что ответ, который я получаю, похоже, не в формате JSON .. и я не могу получить к ним доступ, используя '$ result ['jrr']' – OneScrewLoose
'{" true ": null}' является действительным JSON, что с этим связано? Вы также можете использовать 'json_decode ($ result, true)' для принудительного форматирования массива. 'HEAD' - это следующий метод запроса (например,' POST' или 'GET'), он получает только заголовки, но вы сказали, что разрешен только« POST », поэтому вы можете забыть об этом в этом случае. –