目錄:
方法一:
function getSign($params, $client_secret) {
if (is_array($params)) {
ksort($params);
$paramsStr = '';
array_walk($params, function ($item, $key) use (&$paramsStr) {
$paramsStr .= sprintf('%s%s', $key, $item);
});
$sign = strtoupper(md5($client_secret .$paramsStr.$client_secret));
return $sign;
}else{
return "";
}
}
方法二:
function getPddApi($param, $common)
{
$client_secret= $common['client_secret'];
$param['client_id'] = $common['client_id'];
$param['type'] = $common['method'];
$param['access_token'] = $common['access_token'];
$param['data_type'] = 'JSON';
$param['timestamp'] = getMillisecond();
ksort($param); // 排序
$str = ''; // 拼接的字符串
foreach ($param as $k => $v) $str .= $k . $v;
$sign = strtoupper(md5($client_secret. $str . $client_secret)); // 生成簽名 MD5加密轉大寫
$param['sign'] = $sign;
$url = 'http://gw-api.pinduoduo.com/api/router';
return curl_post($url, $param);
}
// post請求
function curl_post($url, $curlPost)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function getMillisecond() {
list($microsecond , $time) = explode(' ', microtime()); //' '中間是一個空格
return (float)sprintf('%.0f',(floatval($microsecond)+floatval($time))*1000);
}