PHP curl响应参数与响应header 中的参数值获取

m0_37670998 2017-03-01 05:22:36
PHP curl响应参数与响应header 中的参数获取到如下所示:
HTTP/1.1 200 OK Date: Wed, 01 Mar 2017 09:14:06 GMT Content-Type: application/vnd.ehking-v2.0+json Transfer-Encoding: chunked Connection: keep-alive Key: 777777777777777 chantId: 1213123
{"data":"55555555555555555555555555555555555"}

请问如何取出 Key ,chantId和data 的值。
小弟在这万分感谢。
...全文
692 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2017-03-02
  • 打赏
  • 举报
回复
使用curl不需要自己分析http的header的,直接返回的就是content了

    $data = array();
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_POST, true);  
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);  
  
    $response = curl_exec($ch);  
  
    if($error=curl_error($ch)){  
        die($error);  
    }  
  
    curl_close($ch); 
xuzuning 2017-03-02
  • 打赏
  • 举报
回复
自己解析 http 协议头信息,不如用 get_headers 函数 还可以用 CURLOPT_WRITEFUNCTION 回调 自行解析时需注意:头信息是以 \r\n 分隔的
一起混吧 2017-03-02
  • 打赏
  • 举报
回复
加一句 list($Key, $chantId, $data) = $m[3];
m0_37670998 2017-03-02
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
使用curl不需要自己分析http的header的,直接返回的就是content了

    $data = array();
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_POST, true);  
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);  
  
    $response = curl_exec($ch);  
  
    if($error=curl_error($ch)){  
        die($error);  
    }  
  
    curl_close($ch); 
我需要得到里面的值。 得到$Key = 777777777777777; $chantId = 1213123; $data = 55555555555555555555555555555555555;
m0_37670998 2017-03-02
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
$s = 'HTTP/1.1 200 OK Date: Wed, 01 Mar 2017 09:14:06 GMT Content-Type: application/vnd.ehking-v2.0+json Transfer-Encoding: chunked Connection: keep-alive Key: 777777777777777 chantId: 1213123
{"data":"55555555555555555555555555555555555"}
';
preg_match_all('/(Key|chantId|data"):(\s+|")([^"\s]+)/s', $s, $m);
print_r($m);
Array
(
    [0] => Array
        (
            [0] => Key: 777777777777777
            [1] => chantId: 1213123
            [2] => data":"55555555555555555555555555555555555
        )

    [1] => Array
        (
            [0] => Key
            [1] => chantId
            [2] => data"
        )

    [2] => Array
        (
            [0] =>  
            [1] =>  
            [2] => "
        )

    [3] => Array
        (
            [0] => 777777777777777
            [1] => 1213123
            [2] => 55555555555555555555555555555555555
        )

)
如果得到$Key = 777777777777777; $chantId = 1213123; $data = 55555555555555555555555555555555555;
傲雪星枫 2017-03-02
  • 打赏
  • 举报
回复

$s = 'HTTP/1.1 200 OK Date: Wed, 01 Mar 2017 09:14:06 GMT Content-Type: application/vnd.ehking-v2.0+json Transfer-Encoding: chunked Connection: keep-alive Key: 777777777777777 chantId: 1213123
{"data":"55555555555555555555555555555555555"}
';
preg_match_all('/(Key|chantId|data"):(\s+|")([^"\s]+)/s', $s, $m);
$data = array();
$data['Key'] = $m[3][0];
$data['chantId'] = $m[3][1];
$data['data'] = $m[3][2];

print_r($data);
Array ( [Key] => 777777777777777 [chantId] => 1213123 [data] => 55555555555555555555555555555555555 )
一起混吧 2017-03-01
  • 打赏
  • 举报
回复
$s = 'HTTP/1.1 200 OK Date: Wed, 01 Mar 2017 09:14:06 GMT Content-Type: application/vnd.ehking-v2.0+json Transfer-Encoding: chunked Connection: keep-alive Key: 777777777777777 chantId: 1213123
{"data":"55555555555555555555555555555555555"}
';
preg_match_all('/(Key|chantId|data"):(\s+|")([^"\s]+)/s', $s, $m);
print_r($m);
Array
(
    [0] => Array
        (
            [0] => Key: 777777777777777
            [1] => chantId: 1213123
            [2] => data":"55555555555555555555555555555555555
        )

    [1] => Array
        (
            [0] => Key
            [1] => chantId
            [2] => data"
        )

    [2] => Array
        (
            [0] =>  
            [1] =>  
            [2] => "
        )

    [3] => Array
        (
            [0] => 777777777777777
            [1] => 1213123
            [2] => 55555555555555555555555555555555555
        )

)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧