cyr11 2023-11-13 17:08 采纳率: 0%
浏览 12
已结题

java示例换成php示例

java示例

public class MessageFilterReqData{

       private string batchNo;

       private List<string> messages;

}



private boolean checkSign(String sign, MessageFilterRegData data,String secretKey){

       return StringUtils.equals(sign, signParam(data, secretKey));

}


private String signParam(MessageFilterReqData, String secretKey){

    String batchNo = data.getBatchNo();
    
    // list 信息格式化
    String messageStr = "";

    for (int i = 0; i < data.getMessages().size(); i++) {

        if (i == data.getMessages().size()-1) {

            messageStr= messageStr + data.getMessages().get(i);

        }else{

            messageStr= messageStr + data .getMessagesget(i) + ",";
        }
    }

        String originStr = "batchNo=" + batchNo + "&messaqes=" + messagestr + "&secretKey="+ secretKey;

        return Md5Util.getMD5String(originStr).toLowerCase();
}



public class MessageFilterServiceTest extends BaseTest{

    @Test

    public void testFileter() throws Exception {

    // 合作方签名
    String signId = "********";

    // 合作方秘钥
    String secretKey = "********";

    // 接口路径
    String url = "********";

    // 批次号
    string batchNo = "BATCH_NO0000001"

    // 组装请求参数
    JSONObject request = new JSONObject();
    
    request.put("signId", signId);
    
    JSONObject data = new JSONObject();
    
    JSONArray messages = new JSONArray();
    
    messages.add("25a10a77d607c46674fc5a1898b97c85");
    
    messages.add("24dc2b5d421e7f6eda94ba6188e6fbc4");
    
    messages.add("3ecf2118bef9150782bcef7a6c46cd19");
    
    data.put("messages",messages);

    data.put("batchNo",batchNo);
    
    request.put("data",data);

    // 参数签名
    String sign = signParam(messages, batchNosecretKey);
    
    request.put("sign",  sign);

    // 发送 http 请求    
    JSONObject ret = getPostJson(urlrequest.toJSONString(),nul1);
    log.info("response = {}",ret.toJSONString());

    }
}


private String signParam(JSONArray messages, String batchNo, String secretKey){

    // list 信息格式化
    String messageStr = "";

    for (int i = 0; i < messages.size(); i++) {
        
        if(i == messages.size()-1) {

            messageStr = messageStr + messages.get(i);

        }else{

            messageStr = messageStr + messages.get(i) + ",";
        }
            
        String originStr = "batchNo=" + batchNo + "&messages=" +messageStr + "&secretKey=" + secretKey;

        return Md5Util.getMD5String(originStr).toLowerCase();
    }
}



public class MessageFilterviceTest extends BaseTest{

    @Test
    public void testReport() throws Exception{

    // 合作方接口地址
    String url = "********";

    //合作方秘钥
    String secretKey = "********";

    // 组装请求参数
    JSONObject request = new JSONObject();

    regquest.put("requestId","**********");

    JSONObject data =new JSONObject();

    data.put("phoneMd5","6d3882a321e982a224c55db91d2bf68b");

    data.put("convType","credit");

    data.put("convValue","A");

    data.put("convTime",16889798301);

    request.put("data", data);

    // 参数签名
    String originSignStr ="phoneMd5=6d3882a321e982a224c55db91d2bf68bsconvType=redit&secretRey=Beworeorgpowefhew" ;

    String sign = DigestUtils.md5Hex(originSignStr);;
    
    request.put("sign", sign);

    // 发送 http 请求
    JSONObject retPostJson(ur1.request.toJSONString(),null);    

    log.info("response = {}",ret.toJSONString());
    }
}

请把java示例代码 改成php示例代码

文档说明https://docs.qq.com/doc/DTW1kVXpqYlhMaW9x?dver=&_t=1699858536139&u=1da66af3230e49218464840bd23d46fd?%ra=card

改成的过程应该加入抓取代码
里面有提交应该有抓取代码

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if (!empty($headers)) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        }

        $result = curl_exec($ch);
        curl_close($ch);

  • 写回答

22条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-11-13 17:08
    关注
    获得0.45元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    <?php
    
    class MessageFilterReqData {
     
        private $batchNo;
     
        private $messages;
     
    }
    
    function checkSign($sign, $data, $secretKey) {
        return $sign == signParam($data, $secretKey);
    }
     
    function signParam($data, $secretKey) {
        $batchNo = $data->batchNo;
        $messageStr = "";
     
        for ($i = 0; $i < count($data->messages); $i++) {
            if ($i == count($data->messages) - 1) {
                $messageStr .= $data->messages[$i];
            } else {
                $messageStr .= $data->messages[$i] . ",";
            }
        }
     
        $originStr = "batchNo=" . $batchNo . "&messages=" . $messageStr . "&secretKey=" . $secretKey;
     
        return md5($originStr);
    }
    
    class MessageFilterServiceTest {
     
        public function testFileter() {
            // 合作方签名
            $signId = "********";
     
            // 合作方秘钥
            $secretKey = "********";
     
            // 接口路径
            $url = "********";
     
            // 批次号
            $batchNo = "BATCH_NO0000001";
     
            // 组装请求参数
            $request = array();
            $request['signId'] = $signId;
     
            $data = array();
            $messages = array();
            $messages[] = "25a10a77d607c46674fc5a1898b97c85";
            $messages[] = "24dc2b5d421e7f6eda94ba6188e6fbc4";
            $messages[] = "3ecf2118bef9150782bcef7a6c46cd19";
            $data['messages'] = $messages;
            $data['batchNo'] = $batchNo;
     
            $request['data'] = $data;
     
            // 参数签名
            $sign = signParam($messages, $batchNo, $secretKey);
     
            $request['sign'] = $sign;
     
            // 发送 http 请求   
            $ret = getPostJson($url, json_encode($request), null);
            log.info("response = {}", json_encode($ret));
        }
    }
    
    function signParam($messages, $batchNo, $secretKey) {
        $messageStr = "";
     
        for ($i = 0; $i < count($messages); $i++) {
            if ($i == count($messages) - 1) {
                $messageStr .= $messages[$i];
            } else {
                $messageStr .= $messages[$i] . ",";
            }
        }
     
        $originStr = "batchNo=" . $batchNo . "&messages=" . $messageStr . "&secretKey=" . $secretKey;
     
        return md5($originStr);
    }
    
    class MessageFilterviceTest {
     
        public function testReport() {
            // 合作方接口地址
            $url = "********";
     
            // 合作方秘钥
            $secretKey = "********";
     
            // 组装请求参数
            $request = array();
            $request['requestId'] = "**********";
     
            $data = array();
            $data['phoneMd5'] = "6d3882a321e982a224c55db91d2bf68b";
            $data['convType'] = "credit";
            $data['convValue'] = "A";
            $data['convTime'] = 16889798301;
            $request['data'] = $data;
     
            // 参数签名
            $originSignStr = "phoneMd5=6d3882a321e982a224c55db91d2bf68bsconvType=redit&secretRey=Beworeorgpowefhew";
            $sign = md5($originSignStr);
        
            $request['sign'] = $sign;
     
            // 发送 http 请求
            $retPostJson($url, json_encode($request), null);
     
            log.info("response = {}", json_encode($ret));
        }
    }
    
    ?>
    
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 修改了问题 11月14日
  • 创建了问题 11月13日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效