微信get与post类(调用接口)

Posted on Posted in php
Tips: 本文创建于2014年10月19日,已超过 2 年,内容或图片可能已经失效!

php调用wechat,模拟浏览器

  1. define('APPID', 'xxxxxxxxxxxxxxxxxx');  
  2. define('APPSECRET', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');  
  3. // 获取 acess_token并且缓存到本地  
  4. function get_access_token()  
  5. {  
  6. if (file_exists('./cache/access_token') && time() - filemtime('./cache/access_token') < 5000)  
  7. return file_get_contents('./cache/access_token');  
  8. else {  
  9. $ret = http_get('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . APPID . '&secret=' . APPSECRET, TRUE);  
  10. $ret = json_decode($ret);  
  11. file_put_contents('./cache/access_token', $ret->access_token);  
  12. return $ret->access_token;  
  13. }  
  14. }  
  15. // GET方式提交数据  
  16. function http_get($url$ssl = FALSE)  
  17. {  
  18. $curl = curl_init(); // 启动一个CURL会话  
  19. curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址  
  20. if ($ssl) {  
  21. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查  
  22. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在  
  23. curl_setopt($curl, CURLOPT_SSLVERSION, 3);  
  24. }  
  25. curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器  
  26. curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer  
  27. curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环  
  28. curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容  
  29. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回  
  30. $tmpInfo = curl_exec($curl); // 执行操作  
  31. if (curl_errno($curl)) {  
  32. var_dump(curl_error($curl));  
  33. return FALSE;  
  34. }  
  35. curl_close($curl); // 关闭CURL会话  
  36. return $tmpInfo// 返回数据  
  37. }  
  38. // post方式提交数据  
  39. function http_post($url$data$ssl = FALSE)  
  40. // 模拟提交数据函数  
  41. $curl = curl_init(); // 启动一个CURL会话  
  42. curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址  
  43. if ($ssl) {  
  44. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查  
  45. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在  
  46. curl_setopt($curl, CURLOPT_SSLVERSION, 3);  
  47. }  
  48. curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器  
  49. curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer  
  50. curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求  
  51. curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包  
  52. curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环  
  53. curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容  
  54. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回  
  55. $tmpInfo = curl_exec($curl); // 执行操作  
  56. if (curl_errno($curl)) {  
  57. return FALSE;  
  58. }  
  59. curl_close($curl); // 关闭CURL会话  
  60. return $tmpInfo// 返回数据  
  61. }  
» 转载请注明来源:呢喃 » 微信get与post类(调用接口)