微信接口_curl_error_28_超时问题

在使用微信API接口时,若curl返回错误码为28,超时。则考虑以下几点:

a. 是否存在跨运营商访问的情况,详见网络超时的定位
可以ping api.mch.weixin.qq.com查询对应的解析IP
通过访问ip.qq.com获取取口IP,也可以根据商户侧服务器的外网IP确认
b. 是否使用的阿里云主机
由于阿里云使用的BGP,需要确认解析出来的IP是否为182.254.44.159,否则需要调整DNS设置,使用阿里本身的DNS服务器
c. 是否使用curl库访问
需要指定参数使用ipv4,具体可参考http://www.jb51.net/article/39788.htm
d. 确认java程序使用的HttpClient的版本是否<=4.3.4
可升级HttpClient到4.3.6版本

参考:https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=11_2