首页 > 代码库 > PHP语言开发微信公众平台(订阅号)之curl命令
PHP语言开发微信公众平台(订阅号)之curl命令
在开发过程中,经常会遇到要求用curl命令调用接口的情况
那么,什么是curl,简单来说curl是一个利用url语法规定来传输文件和哦数据的工具,支持很多协议,如 http、ftp、telent 等,所幸php 也支持 curl
curl虽然很复杂,但是很可以总结为四步。
curl操作四步走:
1.初始化 $ch = curl_init()
2.设置参数 curl_setopt($ch,参数)
3.执行 curl_exec($ch)
4.关闭 curl_close($ch)
输出错误信息: curl_error($ch)
注意:
1.设置参数(相关参数说明)
常用参数
CURLOPT_URL :请求的url地址
CURLOPT_RETURNTRANSFER :捕获内容,但不输出(会把页面的内容完全抓取过来)
CURLOPT_HEADER :设置头信息
CURLOPT_POST :模拟发送 POST 请求
CURLOPT_POSTFIELDS :发送 POST 请求时所传递的参数
2.第一次请求时系统会报错,代表服务器需要校验SSL证书(SSL证书的问题:无法获得当地发行者证书):SSL certificate problem:unable to get local issuer certificate
解决方法:可以通过curl禁止服务端校验SSL,代码如下:
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
放到微信公众号的开发中可按照如下代码编写:
1 <?php 2 //返回midia_id 3 $ch = curl_init(); 4 $url = "填写需要请求访问的地址"; 5 curl_setopt($ch,CURLOPT_URL,$url); 6 //捕获内容但不输出 7 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 8 //模拟发送POST请求 9 curl_setopt($ch,CURLOPT_POST,1);10 //发送数据11 $data = "填写需要发送的数据";12 //发送POST请求时传递数据13 curl_setopt($ch,CURLOPT_POSTFIELDS,$data);14 //禁止服务器端校验SSL15 curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);16 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);17 //执行curl18 $outopt = curl_exec($ch);19 //通过判断输出错误20 if($outopt==false)21 {22 echo curl_error($ch); 23 }24 else25 {26 echo $outopt; 27 }28 //关闭29 curl_close($ch);
注:未经允许,禁止转载
PHP语言开发微信公众平台(订阅号)之curl命令