解析响应和响应头PHP

时间:2014-06-27 10:35:17

标签: php json

我正在开发一个应用程序,该应用程序应该获取创建帐户的状态和日期。现在我有一个响应(采用JSON格式),但我似乎无法解析响应和响应头。他们甚至没有表现出回声。我想提取响应的2个变量,并且由于响应头提供了cookie,我还想得到它并将其存储以用于下一个响应。 这是收到的回复:

HTTP/1.1 100 Continue HTTP/1.1 200 OK Date: Fri, 27 Jun 2014 14:28:38 GMT Server: Apache Set-Cookie: ci_session=one_very_long_cooooookie; expires=Fri, 27-Jun-2014 16:28:38 GMT; path=/ Status: 200 Content-Length: 304 Content-Type: application/json
        {
        "success": true,
        "user": {
            "user_id": "2K287as952",
            "username": "myusername",
            "requesting_ip": "123.456.789.012",
            "account_created_at": "2012-08-13 15:57:35",
            "online_status": "1",
            "auth_token": "26CC3BCF-2CB5-A90E-B1CA-76D40C34E097"
        }
    }

现在我从这里开始尝试按照php文档获取响应标题,它应该给我“set cookie”变量,但它总是空的。如果需要,我可以在这里发布我的.php文件。

修改 我用卷发试了一下,现在我得到了一些回应。这是我正在尝试的代码。现在如何解析我得到的响应

提前致谢

<?php
//set up variables
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

$url = 'http://webpage.api.com';
$data = http_build_query(
    array('password' => 'myFUNKYPASSWORD',
'email' => 'some_email@gmail.com')
);
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_VERBOSE, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, $data);
curl_setopt($cURL, CURLOPT_HEADER, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/x-www-form-urlencoded',
    'User-Agent: Dalvik/1.6.0 (Linux; U; Android 2.3.3; HTC Pyramid Build/GRI40)',
    'Host: api.hackex.net',
    'Expect: 100-continue',
    'Host: api.hackex.net'

));

$result = curl_exec($cURL);



print_r($result);

//~ // limite positivo
//~ $header_size = curl_getinfo($cURL, CURLINFO_HEADER_SIZE);
//~ $header = substr($result, 0, $header_size);
//~ $body = substr($result, $header_size);
//~ list($header, $body) = explode("\r\n\r\n", $result, 2);
echo curl_getinfo($cURL, CURLINFO_HTTP_CODE); 

curl_close($cURL);
?>

1 个答案:

答案 0 :(得分:0)

var req = $.ajax({
                   url:___,
                   type:___,
                   data:____,
                   dataType:____,
                   cache:false
                 });

req.done(function(data){
        // Parse the response that will be stored in data
        var parsedData = JSON.parse(data); 
});

这只是骨架。 包含所需的值