·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹
返回列表 发布新帖

discuz插件中php curl的get/post类用法

800 0
发表于 2021-1-17 17:08:07 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
discuz插件中php curl的get/post类用法:
  1. /**
  2. * @version 1.0
  3. * @date 2014-08-11
  4. * @author 十七号 <xialeistudio@gmail.com>
  5. * @license MIT
  6. * Class Request 网络工具类
  7. */
  8. class Request
  9. {
  10.     /**
  11.      * HTTP GET 请求
  12.      * @param string $url 请求地址
  13.      * @param array $data 请求数据
  14.      * @param null $cookie COOKIE
  15.      * @param null $cookiefile COOKIE 请求所用的COOKIE文件位置
  16.      * @param null $cookiesavepath 请求完成的COOKIE保存位置
  17.      * @param bool $encode 是否对请求参数进行 urlencode 处理
  18.      * @return mixed
  19.      * @throws Exception
  20.      */
  21.     public static function get($url, $data = array(), $cookie = null, $cookiefile = null,$cookiesavepath = null, $encode = true)
  22.     {
  23.         //初始化句柄
  24.         $ch = curl_init();
  25.         //处理GET参数
  26.         if(count($data)>0){
  27.             $query = $encode?http_build_query($data):urldecode(http_build_query($data));
  28.             curl_setopt($ch, CURLOPT_URL, $url . '?' . $query);
  29.         }else{
  30.             curl_setopt($ch, CURLOPT_URL, $url);
  31.         }
  32.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  33.         curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36');
  34.         //设置cookie
  35.         if (isset($cookie)) curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  36.         //设置cookie请求文件
  37.         if (isset($cookiefile)){
  38.             if(!is_file($cookiefile)) throw new Exception('Cookie文件不存在');
  39.             curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
  40.         }
  41.         //设置cookie保存路径
  42.         if(isset($cookiesavepath)) curl_setopt($ch,CURLOPT_COOKIEJAR,$cookiesavepath);
  43.         //执行请求
  44.         $resp = curl_exec($ch);
  45.         //关闭句柄,释放资源
  46.         curl_close($ch);
  47.         return $resp;
  48.     }

  49.     /**
  50.      * HTTP POST 请求
  51.      * @param string $url 请求地址
  52.      * @param array $data 请求数据
  53.      * @param null $cookie 请求COOKIE
  54.      * @param null $cookiefile 请求时cookie文件位置
  55.      * @param null $cookiesavepath 请求完成的COOKIE保存位置
  56.      * @return string
  57.      * @throws Exception
  58.      */
  59.     public static function post($url, $data = array(), $cookie = null, $cookiefile = null,$cookiesavepath = null)
  60.     {
  61.         //初始化请求句柄
  62.         $ch = curl_init();
  63.         //参数设置
  64.         curl_setopt($ch, CURLOPT_URL, $url);
  65.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  66.         curl_setopt($ch,CURLOPT_POST,1);
  67.         curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
  68.         curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36');
  69.         //cookie设置
  70.         if (isset($cookie)) curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  71.         //请求cookie设置
  72.         if (isset($cookiefile)){
  73.             if(!is_file($cookiefile)) throw new Exception('Cookie文件不存在');
  74.             curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
  75.         }
  76.         //设置cookie保存路径
  77.         if(isset($cookiesavepath)) curl_setopt($ch,CURLOPT_COOKIEJAR,$cookiesavepath);
  78.         $resp=curl_exec($ch);
  79.         curl_close($ch);
  80.         return $resp;
  81.     }
  82. }
复制代码


我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.147.66.28,GMT+8, 2024-6-16 15:21 , Processed in 0.287051 second(s), 70 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表