Sco*_*ski 0 php https post curl
我有以下代码块连接到安全服务(支付交易网关),传入一些字段($ postData)并收到响应($ returnValue).
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://secure.service.com/data');
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
if ($returnValue = curl_exec($ch))
{
    $error = curl_error($ch);
}
当我显示$ returnValue的内容时......它们显示如下:
HTTP/1.0 200 OK批准日期:2011年8月10日星期三09:24:15 GMT连接:关闭内容类型:application/x-www-form-urlencoded内容长度:182 avs_code = X&cvv2_code = P&status_code = 1&processor = TEST&auth_code = 999999&settle_amount = 2000&settle_currency = USD&TRANS_ID = 120741127516&auth_msg = TEST + APPROVED&auth_date = 2011-08-10 + 09:24:15
是否存在将此结果字符串拆分为其组成部分的方法或CURL调用?还是我需要自己写的东西?我需要获取响应代码(200),批准/拒绝部分(已批准)和查询字符串(avs_code ....).我尝试查看curl_getinfo,但这只是获取HTTP响应代码,而不是批准/拒绝或查询字符串值.
我是PHP的新手,所以如果我错过了一个明显的方法调用或CURL参数,请告诉我.
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_COOKIE, "");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);
    $header=substr($result,0,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
    $body=substr($result,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
    curl_close($ch);
比使用类似的东西 preg_match_all("/Set-Cookie: (.*?)=(.*?);/i",$header,$res);