php调用淘宝接口
2016-06-24 09:52
471 查看
<?php
$para = array( 'format' => 'json', 'v' => '2.0', 'sign_method' => 'md5', 'app_key' => $app_key, 'app_secret' => $app_secret, 'session' => $app_session, 'app_nick' => $app_nick, 'app_type' => 'B', 'method' => 'taobao.trade.get', 'fields' => 'tid,type,status,payment,orders', 'tid' =>$tid ); $result = do_execute($url, $para, $para); //var_dump($result);exit; $arr = json_decode($result); print_r($arr);exit;
function do_execute( $url, $apiParams, $sign_conf) { $timestamp = date("Y-m-d H:i:s"); $apiParams ['timestamp'] = $timestamp; $sign_conf['timestamp'] = $timestamp; $apiParams ['sign'] = createSign ( $apiParams['app_secret'], $sign_conf); // 签名生成sign $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_FAILONERROR, false ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // 如果参数为数组则 if (is_array ( $apiParams ) && 0 < count ( $apiParams )) { $postBodyString = ""; foreach ( $apiParams as $k => $v ) { $postBodyString .= "$k=" . urlencode ( $v ) . "&"; } unset ( $k, $v ); } else { $postBodyString = $apiParams; } try { curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, substr ( $postBodyString, 0, - 1 ) ); $reponse = curl_exec ( $ch ); if (curl_errno ( $ch )) { $curl_error = curl_error ( $ch ); throw new Exception ( $curl_error, 0 ); } else { $httpStatusCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE ); if (200 !== $httpStatusCode) { throw new Exception ( $reponse, $httpStatusCode ); } } } catch (Exception $e) {} curl_close ( $ch ); return $reponse; }
/** * 生成签名 */ function createSign($appSecret, $paramArr) { $sign = $appSecret; ksort ( $paramArr ); foreach ( $paramArr as $key => $val ) { if ($key != '' && $val != '') { $sign .= $key . $val; } } $sign .= $appSecret; $sign = strtoupper ( md5 ( $sign ) ); return $sign; }
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- 简单好用的PHP分页类