700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php采集快递100 PHP中使用CURL获得快递100API接口JSON数据的文件头处理方案

php采集快递100 PHP中使用CURL获得快递100API接口JSON数据的文件头处理方案

时间:2023-10-29 22:38:55

相关推荐

php采集快递100 PHP中使用CURL获得快递100API接口JSON数据的文件头处理方案

PHP中使用CURL获得JSON数据的处理方案

文件:curl_init.php

header('Content-Type:text/json;charset=UTF-8');

//header("Content-type:text/html;charset=utf-8");

///php-weizijiaocheng-393305.html

// 创建一个新cURL资源

$ch = curl_init();

// 设置URL和相应的选项

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回,而不是直接输出

curl_setopt($ch, CURLOPT_URL, "/query?type=ems&postid=9972311155713");

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");

//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$resp = curl_exec($ch);

// 关闭cURL资源,并且释放系统资源

curl_close($ch);

$resp = json_decode($resp,true);

复制源码可以直接PHP环境中测试。

文件头header(‘Content-Type:text/json;charset=UTF-8’);,表明文件是json字符串,如果直接在该文件内部使用HTML处理,则无效;但是可以通过ajax调用数据;

header(“Content-type:text/html;charset=utf-8”);,表明文件是html类型,可以直接在改文件内部使用HTML标记语言处理;

/query?type=ems&postid=9972311155713,type是拼音组成的快递方式参数,postid为快递单号参数。

print_r($resp);

输入效果:

[data] => Array

(

[0] => Array

(

[time] => -03-23 15:30:38

[ftime] => -03-23 15:30:38

[context] => [邮政宁波市万里邮政所]在 宁波 已签收,他人代收:雍城世家57幢菜鸟驿站,投递员:张兵:18157472130

[location] => 邮政宁波市万里邮政所

)

[1] => Array

(

[time] => -03-23 13:35:32

[ftime] => -03-23 13:35:32

[context] => 【邮政宁波市万里邮政所】安排投递,投递员:张兵:18157472130

[location] => 邮政宁波市万里邮政所

)

[2] => Array

(

[time] => -03-23 12:55:53

[ftime] => -03-23 12:55:53

[context] => 到达【邮政宁波市万里邮政所】

[location] => 邮政宁波市万里邮政所

)

[3] => Array

(

[time] => -03-23 12:11:58

[ftime] => -03-23 12:11:58

[context] => 离开【宁波中心】,下一站【邮政宁波市万里邮政所】

[location] => 宁波中心

)

[4] => Array

(

[time] => -03-23 09:59:46

[ftime] => -03-23 09:59:46

[context] => 到达【宁波中心】

[location] => 宁波中心

)

[5] => Array

(

[time] => -03-23 06:15:56

[ftime] => -03-23 06:15:56

[context] => 离开【杭州二枢纽邮件处理中心】,下一站【宁波中心】(经转)

[location] => 杭州二枢纽邮件处理中心

)

[6] => Array

(

[time] => -03-23 04:10:16

[ftime] => -03-23 04:10:16

[context] => 到达【杭州二枢纽邮件处理中心】(经转)

[location] => 杭州二枢纽邮件处理中心

)

[7] => Array

(

[time] => -03-21 06:42:28

[ftime] => -03-21 06:42:28

[context] => 离开【邮政哈尔滨邮件转运分局江北省际车间】,下一站【杭州二枢纽邮件处理中心】

[location] => 邮政哈尔滨邮件转运分局江北省际车间

)

[8] => Array

(

[time] => -03-20 17:51:00

[ftime] => -03-20 17:51:00

[context] => 到达【邮政哈尔滨邮件转运分局江北省际车间】

[location] => 邮政哈尔滨邮件转运分局江北省际车间

)

[9] => Array

(

[time] => -03-20 15:43:46

[ftime] => -03-20 15:43:46

[context] => 离开【哈市电商】,下一站【哈市松北】

[location] => 哈市电商

)

[10] => Array

(

[time] => -03-20 14:30:41

[ftime] => -03-20 14:30:41

[context] => 哈尔滨 【哈市电商】已收件,揽投员:王锦海12333333333

[location] => 哈市电商

)

)

处理其中的data二位数据,foreach即可:

//输出json中的数据;

foreach ($resp["data"] as $key => $v) {

echo "到达时间:".$resp["data"][$key]['time']."

";

echo "处理时间:".$resp["data"][$key]['ftime']."

";

echo "处理中心:".$resp["data"][$key]['context']."

";

echo "到达网点:".$resp["data"][$key]['location']."

";

}

如果要正常显示,选择header(“Content-type:text/html;charset=utf-8”);文件头

本文同步分享在 博客“漏刻有时”(CSDN)。

如有侵权,请联系 support@ 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。