Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php curl post请求和get结果响应_Php_Curl - Fatal编程技术网

php curl post请求和get结果响应

php curl post请求和get结果响应,php,curl,Php,Curl,对于此站点示例,是否可以使用curl获得结果(请参见下图): 以下是迄今为止我的代码,不起作用: /*$params = array( "trackingIds" => "EP024922993MY" );*/ $url = rawurlencode("http://poslaju.com.my/track-trace/#trackingIds=EP024922993MY"); $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST,

对于此站点示例,是否可以使用curl获得结果(请参见下图):

以下是迄今为止我的代码,不起作用:

/*$params = array(
"trackingIds" => "EP024922993MY"
);*/

$url = rawurlencode("http://poslaju.com.my/track-trace/#trackingIds=EP024922993MY");

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$reponse = curl_getinfo($ch);

curl_close($ch);

var_dump($result);
var_dump($reponse);

第一步:我正在使用
Firebug
插件,看看会发生什么

这里,一个ajax从另一个站点获取内容

我们有这个链接

https://apis.pos.com.my/apigateway/as2corporate/api/v2trackntracewebapijson/v1/?id=EP024922993MY&Culture=En
在标题请求中,我们可以看到require
X-User-Key

现在我们必须找到X-User-Key=>我们可以查看源代码

现在我们构建源代码

<?php
function _curl($url,$post="",$usecookie = false,$_sock = false,$timeout = false,$x_user_key = false) {  
    $ch = curl_init();
    if($post) {
        curl_setopt($ch, CURLOPT_POST ,1);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
    }
    if($timeout){
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$timeout);
    }
    if($_sock){
            curl_setopt($ch, CURLOPT_PROXY, $_sock);
            curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    }
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'X-Apple-Tz: 0',
    'X-Apple-Store-Front: 143444,12'
    ));
    if($x_user_key){
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'X-User-Key: '.$x_user_key,
        'Referer: http://poslaju.com.my/track-trace/',
        'Origin: http://poslaju.com.my'
        ));
    }
    if ($usecookie) { 
        curl_setopt($ch, CURLOPT_COOKIEJAR, $usecookie); 
        curl_setopt($ch, CURLOPT_COOKIEFILE, $usecookie);    
    }
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    $result=curl_exec ($ch); 
    curl_close ($ch); 
    return $result; 
}
function getStr($string,$start,$end){
    $str = explode($start,$string,2);
    $str = explode($end,$str[1],2);
    return $str[0];
}
$url = 'http://poslaju.com.my/track-trace/';
$result_curl = _curl($url,'','','','','');
$x_user_key = getStr($result_curl,'{ "X-User-Key": "','" }');

$id_track = 'EP024922993MY';
$url = 'https://apis.pos.com.my/apigateway/as2corporate/api/v2trackntracewebapijson/v1/?id='.$id_track.'&Culture=En';
$result_curl = _curl($url,'','','','',$x_user_key);
echo $result_curl;
?>

您应该解释您是如何找到该端点的,以便提出问题的人将来能够自己学习如何找到该端点。我正在更新我的答案。抱歉,仍然没有得到答案。准确地返回空结果。我正在更新如何获取X-User-Key以通过此站点的身份验证xDresult:string(21)“找到了错误的密钥”