环境是 windows wamp php5.5
------------------------------------------
程序写法:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//$url = 'https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=jQuery110208172749384481603_1456294051449&appid=4001&com=shentong&nu=3304810729274&vcode=&token=&_=1456294051453';
$url = 'https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=jQuery110208172749384481603_1456294051449&appid=4001&com=jd&nu=12148326312&vcode=&token=&_=1456294051453';
//$url ='https://www.jb51.net';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
$data = curl_exec($curl);
curl_close($curl);
echo ($data);
---------------------------------------------------------------
直接在地址栏输入 :
https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=jQuery110208172749384481603_1456294051449&appid=4001&com=jd&nu=12148326312&vcode=&token=&_=1456294051453
得到结果是
两个结果不一样,查了一些信息,dll 什么的,加了也不好用。帮忙你们测一下。 解决一下,谢谢
回复讨论(解决方案)
缺少 cookie 的接收和传递
前辈我的意思是,可以直接用CURL请求 HTTPS这上地址不。 这里没有发现传递值的关系啊
就是一个请求,然后把值解析出来。 (这是个物流接口,我从网上拔下来的
或有什么更好的接口没,谢谢
1 | $url = 'https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=jQuery110208172749384481603_1456294051449&appid=4001&com=jd&nu=12148326312&vcode=&token=&_=1456294051453' ; $cookie = tempnam( "/tmp" , "cookie" ); $t = parse_url ( $url );//先获取 cookie $curl = curl_init();curl_setopt( $curl , CURLOPT_URL, "$t[scheme]://$t[host]/$t[path]" );curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1);curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false);curl_setopt( $curl , CURLOPT_COOKIEJAR, $cookie );curl_exec( $curl );//再获取数据 $curl = curl_init();curl_setopt( $curl , CURLOPT_URL, $url );curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1);curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false);curl_setopt( $curl , CURLOPT_COOKIEFILE, $cookie ); $data = curl_exec( $curl );curl_close( $curl );//解析得到的 jsonp 数据 $s = preg_replace( '/^.*\((.+)\).*/' , '$1' , $data );print_r(json_decode( $s , 1));
|
Copy after login
1 | Array( [msg] => [status] => 0 [data] => Array ( [info] => Array ( [status] => 1 [com] => jd [state] => 3 [context] => Array ( [0] => Array ( [time] => 1456304591 [desc] => 货物已完成配送,感谢您选择京东配送 ) [1] => Array ( [time] => 1456299587 [desc] => 配送员开始配送,请您准备收货,配送员,郭林伟,手机号,18511532257 ) [2] => Array ( [time] => 1456298302 [desc] => 货物已分配,等待配送 ) [3] => Array ( [time] => 1456298298 [desc] => 货物已到达【东大桥站】 ) [4] => Array ( [time] => 1456292041 [desc] => 货物已完成分拣,离开【北京小杜社分拣中心】 ) [5] => Array ( [time] => 1456291522 [desc] => 货物已到达【北京小杜社分拣中心】 ) [6] => Array ( [time] => 1456284653 [desc] => 货物已完成分拣,离开【北京土桥接货仓】 ) [7] => Array ( [time] => 1456284549 [desc] => 货物已交付京东快递 ) [8] => Array ( [time] => 1456284549 [desc] => 货物已到达【北京土桥接货仓】 ) ) [_source_com] => ) [com] => jd [company] => Array ( [url] => http:
|
Copy after login
thanks