小提示:谷歌的调试器

最近想写的东西有点多,集中不到下来,现在体会最深刻的莫过于谷歌调试发现可以这样处理。今天调试thinkphp的时候,一直爆404,一次次打印日志返回就是看不到哪里报错了。经过一次调试后,发现了红包接口处理的时间过短,所以默认设置30毫秒的时候,接口处理不过来就卡死了。
搞红包的预下单的时候,有人说爆签名错误,想想16个参数传过去,哪里错了都不知道。微信就回复一个签名错误这让人不可想象多省。你猜猜。

微信的红包的签名坑,和证书坑,发送接口的过期时间过短
我遇到的两个坑 一个是签名的问题,我用了php的方式一次性就通过了,但用as3改写签名就不行,发现一直对不上md5,很神奇。我发现有一些人说是中文问题,有一些人讲排序的问题。反正各有各说法,我改用了php的方式,配合网上的一些接口,签名在md5的下,神奇的不报错。很大一个因素是16个参数,都不能错。一错了就麻烦了。基本上,组装了xml发送后,就不怎么会报错了。

第二个坑就是,证书的路径问题。getcwd()方法 是获取一个绝对路径,很神奇这个代码,改用了发现ca证书可以ok了,没有报错,顺利过了这个坑,得到网上的解决方案。但具体原因未知这个证书为什么一定要绝对路径。但可以顺利跳过这个坑。预付出来。

第三个坑就是,表单请求的接口的过期时间过短导致接口发送不到请求返回,所以我在时间设置的时候,把这个时间改大一点响应就好了。

   curl_setopt($ch,CURLOPT_SSLCERT,getcwd(). WxPayConfig::SSLCERT_PATH);
        //默认格式为PEM,可以注释
       // curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
        curl_setopt($ch,CURLOPT_SSLKEY, getcwd().WxPayConfig::SSLKEY_PATH);
        curl_setopt($ch, CURLOPT_CAINFO, getcwd().WxPayConfig::SSLCA_PATH);
    const SSLCERT_PATH = '/cert/apiclient_cert.pem';
    const SSLKEY_PATH = '/cert/apiclient_key.pem';
    const SSLCA_PATH ='/cert/rootca.pem';

下面是今天的一个小收获,发现谷歌调试器里面。点击network的时候,查看preview 和Response 可以看到返回的错误日志信息。之前一直没发现这个功能可以这样用。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值