5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6153|回复: 0
打印 上一主题 下一主题

[函数] POST和GET在curl中应用

[复制链接]

670

主题

785

帖子

8253

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8253
跳转到指定楼层
楼主
发表于 2017-5-29 19:11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做爬虫,抓取网站,做同步,api开发,以及微信公众号开发中,curl使用非常重要,下面就来介绍curl使用;

函数两枚

  1. //post提交
  2. function post($url,$msg){//post ssl
  3. $ch = curl_init();

  4. if (class_exists('\CURLFile')) {
  5.     curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
  6. } else {
  7.     if (defined('CURLOPT_SAFE_UPLOAD')) {
  8.         curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
  9.     }
  10. }
  11. //$msg = array('media'=>"@".$filepath);
  12. //5.6+ $msg = array('media'=>new \CURLFile($filepath));
  13. preg_match('/https:\/\//',$url)?$ssl=TRUE:$ssl=FALSE;
  14. curl_setopt($ch, CURLOPT_POST, 1);
  15. curl_setopt($ch, CURLOPT_URL,$url);
  16. if($ssl){
  17. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  18. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  19. }
  20. curl_setopt($ch, CURLOPT_POSTFIELDS,$msg);
  21. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  22. $data = curl_exec($ch);
  23. curl_close($ch);
  24. return $data;
  25.     }

  26. //get获取
  27. function get($url){   
  28. $ch = curl_init();
  29. preg_match('/https:\/\//',$url)?$ssl=TRUE:$ssl=FALSE;
  30. curl_setopt($ch, CURLOPT_URL,$url);
  31. curl_setopt($ch, CURLOPT_HEADER, 0);
  32. if($ssl){
  33. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  34. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  35. }
  36. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  37. $data  =  curl_exec($ch);
  38. curl_close($ch);
  39. return $data;
  40. }
复制代码


两个函数都支持ssl,也就是https开头访问,能够自动判断是否是https网站;
特别注意5.6以上包括5.6版本php 上传可是和以前完全不一样,这是一个大坑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-5-16 05:00 , Processed in 0.062500 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表