ECStore 外部调用接口

Posted limonyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECStore 外部调用接口相关的知识,希望对你有一定的参考价值。

<?php
$api_params = array(‘tid‘ => ‘171020150090107‘);//订单编号
$basic_params = array(
    ‘to_api_v‘ => ‘2.3.9‘, //版本号
    ‘direct‘ => ‘true‘, // 
    ‘task‘ => uniqid(),
    ‘method‘ => ‘b2c.order.detail22‘,
);
$token=‘‘;
$params = array_merge($api_params, $basic_params);
$params[‘sign‘] = get_sign($params,$token);
//$url = ‘http://202.104.118.80/index.php/api‘;
$url = ‘http://localhost/ecstore/index.php/api‘;
///////*/ 
/* 使用POST方法将上述$params提交至$url即可 
///////*/
$response=curl_request($url,$params);
$data = json_decode($response, true);
print_r($data);
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
 function curl_request($url,$post=‘‘,$cookie=‘‘, $returnCookie=0){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)‘);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_REFERER, "http://www.baidu.com");
        if($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
        }
        if($cookie) {
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }
        curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header, $body) = explode("\r\n\r\n", $data, 2);
            preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
            $info[‘cookie‘]  = substr($matches[1][0], 1);
            $info[‘content‘] = $body;
            return $info;
        }else{
            return $data;
        }
}
function get_sign($params, $token) {
    return strtoupper(md5(strtoupper(md5(assemble($params))) . $token)); //开源软件:phpfensi.com 
}
function assemble($params) {
    if (!is_array($params))
        return null;
    ksort($params, SORT_STRING);
    $sign = ‘‘;
    foreach ($params AS $key => $val) {
        $sign .= $key . (is_array($val) ? assemble($val) : $val);
    }
    return $sign;
}
?>

 

以上是关于ECStore 外部调用接口的主要内容,如果未能解决你的问题,请参考以下文章

ecstore关于smarty语法调用

ecstore 调用openapi

ecstore关于smarty语法调用

EcStore中的App是什么东西?

ecstore 定时任务配置

Java 封装