php 美团配送 生成签名

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35692869/article/details/81979735

php 美团配送 生成签名

//  $arr 为数组  里面为应用参数
$appKey = "";  //key
$secret = "";  //秘钥
$timestamp = time();
$version = "1.0";
$data = [
       'appkey'=>$appKey,
       'timestamp'=>$timestamp,
       'version'=>$version,
 ];
 $data= array_merge($data,$arr);
 ksort($data);
 $temp=[];
 foreach($data as $k=>$v){
      $temp[]=$k.$v;
 }
 $a = implode('',$temp);
 $beforeSign = $secret.$a;
 //加密后的签名
$afterSign = sha1($beforeSign);
$sign = strtolower($afterSign);
$data=[ 
    'appkey'=>$appKey,
    'timestamp'=>$timestamp,
    'version'=>$version,
    'sign'=>$sign
 ];
$data = array_merge($data,$arr);    
$postdata = http_build_query($data);
$url=$urls;
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'Expect:'
)); // 解决数据包大不能提交
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
      echo 'Errno' . curl_error($curl);
}
curl_close($curl); // 关键CURL会话
展开阅读全文

没有更多推荐了,返回首页