当前位置:文档之家› eoLinker-API_Shop_股票行情数据_API接口_PHP调用示例代码

eoLinker-API_Shop_股票行情数据_API接口_PHP调用示例代码

eoLinker-API_Shop_股票行情数据_API接口_PHP调用示例代码
eoLinker-API_Shop_股票行情数据_API接口_PHP调用示例代码

eoLinker-API Shop 股票行情数据 PHP调用示例代码

股票行情数据

支持证券全市场行情数据,实时数据,K线数据,分笔数据,市场股票代码信息,历史数据等等,满足证券投资分析使用。

该产品拥有以下APIs:

1.股票k线

2.实时行情查询

3.查询股票列表

4.查询股票市场

5.分笔

6.分时查询

7.指数实时报价

8.组合行情查询

9.综合排名

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

1.股票k线

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/kline";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

"stock_code"=>"", //股票代码

"period"=>"", //1:1分钟 2:5分钟 3:15分钟 4:30分钟 5:60分钟 6:日k线 7:周k线 8:月k线

"request_num"=>"", //请求行数

"position_str"=>"", //定位串,默认-1 从头开始

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

2.实时行情查询

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/realtime";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

"stock_code"=>"", //股票代码

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1)) );

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

3.查询股票列表

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/list"; $headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取 "stock_type"=>"", //市场类别

"request_num"=>"", //定位串,传空默认为20 "position_str"=>"", //起始位空,从应答中获取

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

4.查询股票市场

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/market";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

5.分笔

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/tick";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

"stock_code"=>"", //股票代码

"request_num"=>"", //请求参数

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1)) );

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

6.分时查询

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/trend"; $headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取 "stock_code"=>"", //股票代码

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

7.指数实时报价

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/index";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

"stock_code"=>"", //代码

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

8.组合行情查询

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/comb";

$headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取

"stock_code"=>"", //股票代码

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} 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) == "https://" ? TRUE : FALSE;

// 设置请求方式

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

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);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

// 将返回结果头部转成数组

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim"); foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1)) );

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

9.综合排名

$method = "POST";

$url = "https://https://www.doczj.com/doc/d04820655.html,/mlhexpsz/stock/sort"; $headers = NULL;

$params = array(

"apiKey"=>"your_api_key", //需要从https://www.doczj.com/doc/d04820655.html,获取 "stock_type"=>"", //股票类别,参考市场查询返回值

"sort_type"=>"", //排序类别

);

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

If ($result) {

$body = json_decode($result["body"], TRUE);

$status_code = $body["statusCode"];

If ($status_code == "000000") {

//状态码为000000, 说明请求成功

echo "请求成功:" . $result["body"];

} else {

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

echo "请求失败:" . $result["body"];

}

} else {

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

echo "发送请求失败";

}

/**

* 转发请求到目的主机

* @param $method string 请求方法

* @param $URL string 请求地址

相关主题
文本预览
相关文档 最新文档