一、 大智慧官網地址:http://yun.gw.com.cn/index.html;php
二、 大智慧API文檔中心:http://yun.gw.com.cn/DocCenter/(技術接入文檔)html
去加了他們的QQ羣,而後找人申請了一個月的接口試用期..接口申請下來後發現他們官方的github上面的demo只有java的,還有兩個是Android和桌面應用的..我要對接到網站上面,因此只有本身來寫一個..java
目前用的是TP5框架,,因此有些寫法須要本身去修改,代碼只提供大致的流程git
<?php /** * Created by PhpStorm. * User: Martinby * Date: 2017/10/19 * Time: 14:42 */ namespace app\index\controller; use Pingpp\Token; use think\Cache; class Dzh extends Base{ //接口網站 private $host="https://gw.yundzh.com"; //申請的appid之類的東東 private $appid="****************"; private $secret_key="******"; private $short_appid="*****"; public function get_info(){ $path="/f10/gsgk"; //獲取token,若是沒有未獲取到token的緩存,那麼請求token,並將其加入到緩存中去,,若是有token緩存,直接獲取緩存中的token $token=array(); if(Cache::get("token_cache")==false){ $token=$this->get_token(); Cache::set("token_cache",$token,$token['duration']); }else{ $token=Cache::get("token_cache"); } if($token!==false){ $params=[ "qid"=>'123456', // qid 惟一指定經過該鏈接通道已被髮送的請求標識(貌似能夠隨便亂寫個數字?) "obj"=>"SO831621",//股票代碼 //"token"=>$token['token'],//token ]; $params_string=http_build_query($params); $real_url=$this->host.$path."?".$params_string."&token=".$token['token']; $result=$this->dzh_curl($real_url); var_dump($real_url);echo "<br/>";echo("<br/>"); var_dump($result); } } //獲取熱乎乎的token值 public function get_token(){ $path="/token/access"; $params=[ "appid"=>$this->appid, "secret_key"=>$this->secret_key, ]; $params_string=http_build_query($params); $real_url=$this->host.$path.'?'.$params_string; $res=$this->dzh_curl($real_url); //若是err爲0,即無錯狀況 if($res->Err=='0'){ //數據data(stdClass) $data=$res->Data; //獲取token數據(stdClass ) $RepDataToken=$data->RepDataToken; //獲取result返回值 0 受權成功,-1 受權失敗,-2 appid不存在,-3 appid受權數已滿 $result=$RepDataToken[0]->result; //轉換object爲數組 $token_arr=$this->object_array($RepDataToken[0]); //若是result不爲0,即受權失敗 if($result!==0){ return false; }else{ //var_dump($token_arr); return $token_arr; } }else{ } } //執行get請求 public function dzh_curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch, CURL_SSLVERSION_SSL, 2); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); if($data===false){ return false; }else{ $response = json_decode($data); return $response; } } //轉換(stdclass)object對象爲(array)數組 function object_array($object) { $object = json_decode( json_encode( $object),true); return $object; } }