现在对方让我测试是否测通,小白不知如何下手,请老师们指点!
1. 测试环境 URL:
http://180.167.88.130:38080/xinbox/toApplyCredit_inst
2. 对接链接参数列表:
序号  参数名  参数名称  说明
1  apply_name  申请人姓名  申请人姓名(申请类型为 1 时必填)
2  apply_idnum  申请人身份证号  身份证号
3  apply_phone  申请人手机号  手机号(申请类型为 1 时必填)
4  apply_type  申请类型  固定值 1
5  operCode  地推号  第三方地推人员账号必填(string 32)
6  areaCode  地区号  国标 6 位地区号,如成都市 510100
7  orgno  机构号  接入机构号,盒鑫分配 (string)
8  platform  平台号  接入平台号,盒鑫分配(string)
9  sign  签名值  签名值(string)
3. 生成链接的步骤:
步骤一:根据以下规则组合参数生成 paramString
1、按参数名字母升序排列参数;
2、参数和参数值的对应方式是:<参数名>=<参数值>;
3、用&连接符拼接多个参数。
按以上规则组合参数生成 paramString 的样例:
apply_idnum=310103199604228124&apply_name= 测 试 &
apply_phone=13350101301&apply_type=1&
areaCode =510100&operCode=395002755&orgno=88888&
platform=66
步骤二:根据供的 key 值和 paramString 计算 MD5
注:测试环境 key 值为“Qwer123”,生产环境会重新分配该 key
值;该 key 值仅仅用于计算 MD5,不可以作为传递参数。
a) 将 paramString 和“key= Qwer123”用&拼接起来得到如下字
符串:
apply_idnum=310103199604228124&apply_name= 测 试
&apply_phone=13350101301&apply_type=1&areaCode =5101
00& operCode=395002755&orgno=88888&platform=66&key=
Qwer123
b) 计算拼接后字符串的 MD5 值
c) 将计算后的 MD5 值转化成大写并赋给 sign 参数:
sign=288B1AB1CEB2B8B415946141C9EC5268
步骤三:生成最终的链接:
格式:<测试环境 URL>+?+<paramString>+&+<MD5>
链接样例:
http://180.167.88.130:38080/xinbox/toApplyCredit_inst?apply_idnum=310
103199604228124&apply_name= 测 试
&apply_phone=13350101301&apply_type=1& areaCode =510100& op
erCode=395002755&orgno=88888&platform=66&sign=288B1AB1CEB2B
8B415946141C9EC5268

解决方案 »

  1.   

    这都已经说的很清楚了啊。http://180.167.88.130:38080/xinbox/toApplyCredit_inst?apply_idnum=310
    103199604228124&apply_name= 测 试
    &apply_phone=13350101301&apply_type=1& areaCode =510100& op
    erCode=395002755&orgno=88888&platform=66
    上面绿的这一部份直接就按这格式顺序拼接就是了,这个没问题吧?所有的介绍就是下面这个参数:sign=288B1AB1CEB2B8B415946141C9EC5268这个参数是上面参数和提供给你的KEY用“&”连接一起,再用MD5加密,这个你把个MD5加密文件就可以了,这个MD5结果应该用32位的,记算出来后会的字符串中字母会是小写的,你再用个函数把其中的小写字赠替换成大写的,这个很简单,或网上找个函数也会有的。转换完了的字符再和最初的字符串拼结:apply_idnum=310103199604228124&apply_name= 测 试 &
    apply_phone=13350101301&apply_type=1&
    areaCode =510100&operCode=395002755&orgno=88888&
    platform=66
    sign=小写转大写后的字符串再把上面这个字符串和http://180.167.88.130:38080/xinbox/toApplyCredit_inst? 接一起组成网址
      

  2.   

    最后绿色和红色中间掉了一个&
      

  3.   

    没有验证必填之类的,供参考
    class ApiUtil {
    private $url;
    private $key;
    private $sign;
    private $params = []; public function __construct($url, $key, $params) {
    $this->url = $url;
    $this->key = $key;
    $this->params = $params;
    } private function buildParamString($params) {
    ksort($params);
    return http_build_query($params);
    } private function buildSign($paramString, $key) {
    return strtoupper(md5("{$paramString}&key={$key}"));
    } public function buildApiUrl() {
    $paramString = $this->buildParamString($this->params);
    $sign = $this->buildSign($paramString, $this->key);
    return "{$this->url}?{$paramString}&sign={$sign}";
    }
    }$url = "http://abc.com";
    $key = "this is key";
    $params = [
    'a' => 1,
    'e' => 3,
    'c' => 4,
    'f' => '123',
    'd' => '中文',
    ];
    echo (new ApiUtil($url, $key, $params))->buildApiUrl();
      

  4.   

    楼上写成类估计楼主还是看不懂了.
    完全按说明给你写一遍给你参考一下:<?php$url_tem="http://180.167.88.130:38080/xinbox/toApplyCredit_inst?";
     $apply_name="测试";  // 申请人姓名  申请人姓名(申请类型为 1 时必填)
     $apply_idnum="310103199604228124";     //  申请人身份证号  身份证号
     $apply_phone="13350101301";    //  申请人手机号  手机号(申请类型为 1 时必填)
     $apply_type="1";     // 申请类型  固定值 1
     $operCode="395002755";        //地推号  第三方地推人员账号必填(string 32)
     $areaCode="510100";        //地区号  国标 6 位地区号,如成都市 510100
     $orgno="88888";           // 机构号  接入机构号,盒鑫分配 (string)
     $platform="66";        //平台号  接入平台号,盒鑫分配(string)
     $sign="";    // 签名值  签名值(string)
     $key="Qwer123";
     
     $paramString="apply_idnum=".$apply_idnum."&apply_name=".$apply_name."&apply_phone=". $apply_phone."&apply_type=".$apply_type."&areaCode =".$areaCode ."&operCode=".$operCode."&orgno=".$orgno."&platform=".$platform;
     $paramString_temp=$paramString."&".$key;
     
     $sign_temp=MD5($paramString_temp);
     $sign=strtoupper($sign_temp);
     
     $URL=$url_tem .$paramString."&".$sign;
     
     echo "<br>".$URL; ?>
      

  5.   

    toorup老师,我在这个位置加上这个没问题的是吧$URL=$url_tem .$paramString."&sign=".$sign;