eoLinker-API_Shop_全国油价查询_API接口_PHP调用示例代码 下载本文

内容发布更新时间 : 2024/12/22 18:20:20星期一 下面是文章的全部内容请认真阅读。

eoLinker-API Shop 全国油价查询 PHP调用示例代码

全国油价查询

支持国五标准,可查询全国31个省的油价,每日更新。 该产品拥有以下APIs: 1. 获取今日油价

注意,该示例代码仅适用于 www.apishop.net 网站下API 使用该产品前,您需要通过 https://www.apishop.net/#/api/detail/?productID=82 申请API服务

1.获取今日油价

$method = \

$url = \ $headers = NULL;

$params = array(

\需要从www.apishop.net获取

\省份名,比如广西、北京(不输入则返回全国31个省的油价) );

$result = apishop_curl($method, $url, $headers, $params); If ($result) {

$body = json_decode($result[\ $status_code = $body[\ If ($status_code == \ //状态码为000000, 说明请求成功

echo \请求成功:\ } else {

//状态码非000000, 说明请求失败

echo \请求失败:\ }

} else {

//返回内容异常,发送请求失败,以下可根据业务逻辑自行修改 echo \发送请求失败\ }

/**

* 转发请求到目的主机

* @param $method string 请求方法 * @param $URL string 请求地址 * @param null $headers 请求头

* @param null $param 请求参数 * @return array|bool */

function apishop_curl(&$method, &$URL, &$headers = NULL, &$param = NULL) {

// 初始化请求

$require = curl_init($URL); // 判断是否HTTPS

$isHttps = substr($URL, 0, 8) == \ // 设置请求方式

switch ($method) { case \

curl_setopt($require, CURLOPT_CUSTOMREQUEST, \ break; case \

curl_setopt($require, CURLOPT_CUSTOMREQUEST, \ break; default:

return FALSE; }

if ($param) {

curl_setopt($require, CURLOPT_POSTFIELDS, $param); }

if ($isHttps) { // 跳过证书检查

curl_setopt($require, CURLOPT_SSL_VERIFYPEER, FALSE); // 检查证书中是否设置域名

curl_setopt($require, CURLOPT_SSL_VERIFYHOST, 2); }

if ($headers) { // 设置请求头

curl_setopt($require, CURLOPT_HTTPHEADER, $headers); }

// 返回结果不直接输出

curl_setopt($require, CURLOPT_RETURNTRANSFER, TRUE); // 重定向

curl_setopt($require, CURLOPT_FOLLOWLOCATION, TRUE); // 把返回头包含再输出中

curl_setopt($require, CURLOPT_HEADER, TRUE); // 发送请求

$response = curl_exec($require); // 获取头部长度

$headerSize = curl_getinfo($require, CURLINFO_HEADER_SIZE); // 关闭请求

curl_close($require); if ($response) { // 返回头部字符串

$header = substr($response, 0, $headerSize);

// 返回体

$body = substr($response, $headerSize); // 过滤隐藏非法字符

$bodyTemp = json_encode(array( 0 => $body ));

$bodyTemp = str_replace(\ $bodyTemp = json_decode($bodyTemp, TRUE); $body = trim($bodyTemp[0]); // 将返回结果头部转成数组 $respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), \ foreach ($header_rows as $row) { $keylen = strpos($row, \ if ($keylen) {

$respondHeaders[] = array(

\

\ ); } }

return array(

\ \ ); } else {

return FALSE; } }