返回php中curl类常用方法封装和详解

curl_init  时间:2021-04-19  阅读:()

p hp中c ur l类常用方法封装和详解c url对于PHP开发这来说是经常用到的一个类.在抓取远程文件或是内容的时候就更常用了.不过原生态的c ur l类比较复杂,尤其对于新手来说,很多参数很容易让人头晕,现在好了.这个类是封装了几个常用的curl函数.可以实现抓取远程文件,模拟提交数据等功能.

/*

*来源:http://www.xu ehuw ang.c o m/

*作者:雪狐博客

*类用途:实现抓取原创内容class CURLvar$cookie_file; //设置Cookie文件保存路径及文件名v ar$lo g inur l;//登陆地地址var$actionstr;//登陆参数func tion__c ons truc t()

$this-c ookie_file=dirname(__FILE__). /c ookie_.md5(bas ename(__FILE__)). .txtif(!file_ex is ts($this-c ookie_file))

{ //检测Cookie是否存在

$s tr=$this-vget(‘jroam’); //获取登录随机值preg_match( /name=\formhash\value=\ (.*?)\/is ,$str,$hash); //提取登录随机值

$this-vlo gin($this- lo ginur l,$this-ac tions tr); //登录获取Co okiefunction vlogin($ur l,$data){ //模拟登录获取Cookie函数

$curl=curl_in it(); //启动一个CURL会话curl_setopt($curl,CURLOPT_URL, $url); //要访问的地址curl_s etopt($curl,CURLOPT_S SL_VERIF YPEER,0); //对认证证书来源的检查

curl_setopt($curl,CURLOPT_S SL_VERIF YHOST, 1); //从证书中检查S SL加密算法是否存在curl_s etopt($curl,CURLOPT_US ERAG ENT, $_SERVER[‘HTTP_USER_AG ENT’]); //模拟用户使用的浏览器curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1); //使用自动跳转curl_s etopt($curl,CURLOPT_AUTOREF ERER, 1); // 自动设置Referercurl_setopt($curl,CURLOPT_POST, 1); //发送一个常规的Post请求curl_s etopt($curl,CURLOPT_P OSTFIELDS, $data); //Post提交的数据包curl_s etopt($curl,CURLOPT_COO KIEJAR, $this-c ookie_file); //存放Cookie信息的文件名称curl_s etopt($curl, CURLOPT_COO KIEFILE, $this- c ookie_file); //读取上面所储存的Cookie信息curl_s etopt($curl,CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环curl_setopt($curl,CURLOPT_HEADER,0); //显示返回的Header区域内容curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1); //获取的信息以文件流的形式返回

$tmpInfo=curl_exec($curl); //执行操作if(c url_errno($c url)) {ec ho‘Errno’.c url_error($c url);curl_c los e($curl); //关闭CURL会话r eturn$tmp I nfo; //返回数据function vget($url){ //模拟获取内容函数

$curl=curl_in it(); //启动一个CURL会话curl_setopt($curl,CURLOPT_URL, $url); //要访问的地址curl_s etopt($curl,CURLOPT_S SL_VERIF YPEER,0); //对认证证书来源的检查

curl_setopt($curl,CURLOPT_S SL_VERIF YHOST, 1); //从证书中检查S SL加密算法是否存在curl_s etopt($curl,CURLOPT_US ERAG ENT, $_SERVER[‘HTTP_USER_AG ENT’]); //模拟用户使用的浏览器curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1); //使用自动跳转curl_s etopt($curl,CURLOPT_AUTOREF ERER, 1); // 自动设置Referercurl_s etopt($curl,CURLOPT_HTTPGET, 1); //发送一个常规的Post请求curl_s etopt($curl, CURLOPT_COO KIEFILE, $this- c ookie_file); //读取上面所储存的Cookie信息curl_s etopt($curl,CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环curl_setopt($curl,CURLOPT_HEADER,0); //显示返回的Header区域内容curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1); //获取的信息以文件流的形式返回

$tmpInfo=curl_exec($curl); //执行操作if(c url_errno($c url)) {ec ho‘Errno’.c url_error($curl);curl_c los e($curl); //关闭CURL会话r eturn$tmp I nfo; //返回数据function vpost($url,$data){ //模拟提交数据函数

$curl=curl_in it(); //启动一个CURL会话curl_setopt($curl,CURLOPT_URL, $url); //要访问的地址curl_s etopt($curl,CURLOPT_S SL_VERIF YPEER,0); //对认证证书来源的检查curl_setopt($curl,CURLOPT_S SL_VERIF YHOST, 1); //从证书中检查S SL加密算法是否存在curl_s etopt($curl,CURLOPT_US ERAG ENT, $_SERVER[‘HTTP_USER_AG ENT’]); //模拟用户使用的浏览器

curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1); //使用自动跳转curl_s etopt($curl,CURLOPT_AUTOREF ERER, 1); // 自动设置Referercurl_setopt($curl,CURLOPT_POST, 1); //发送一个常规的Post请求curl_s etopt($curl,CURLOPT_POSTFIELDS, $data); //Post提交的数据包curl_s etopt($curl, CURLOPT_COO KIEFILE, $this- c ookie_file); //读取上面所储存的Cookie信息curl_s etopt($curl,CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环curl_setopt($curl,CURLOPT_HEADER,0); //显示返回的Header区域内容curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1); //获取的信息以文件流的形式返回

$tmpInfo=curl_exec($curl); //执行操作if(c url_errno($c url)) {ec ho‘Errno’.c url_error($c url);curl_c los e($curl); //关键CURL会话r eturn$tmp I nfo; //返回数据function delc ookie($c ookie_file){ //删除Cookie函数

@unlink($c ookie_file); //执行删除

使用方法

//应用实例

$mycurl=new CURL();

$myc url- lo ginur l=http://192.168.0.2/lo gin.php//登陆地址

$mycurl-actionstr=user_name=111 amp;uspassword=1234//参数串;$ur l 1=‘http://192.168.0.2/u s er lis t.p hp

$htmlc ontent=$myc url-vget($url 1); //输出目标地址源码ec ho$htmlc ontent;

半月湾hmbcloud升级500Mbps带宽,原生VPS,$4.99/月

关于半月湾HMBCloud商家之前也有几篇那文章介绍过这个商家的产品,对于他们家的其他产品我都没有多加留意,而是对他们家的DC5机房很多人还是比较喜欢的,这个比我们有些比较熟悉的某商家DC6 DC9机房限时,而且半月湾HMBCloud商家是相对便宜的。关于半月湾DC5机房的方案选择和介绍:1、半月湾三网洛杉矶DC5 CN2 GIA同款DC6 DC9 1G内存 1TB流量 月$4.992、亲测选择半...

2021年7月最新洛杉矶CN2/香港CN2 vps套餐及搬瓦工优惠码 循环终身优惠6.58%

搬瓦工怎么样?2021年7月最新vps套餐推荐及搬瓦工优惠码整理,搬瓦工优惠码可以在购买的时候获取一些优惠,一般来说力度都在 6% 左右。本文整理一下 2021 年 7 月最新的搬瓦工优惠码,目前折扣力度最大是 6.58%,并且是循环折扣,续费有效,可以一直享受优惠价格续费的。搬瓦工优惠码基本上可能每年才会更新一次,大家可以收藏本文,会保持搬瓦工最新优惠码更新的。点击进入:搬瓦工最新官方网站搬瓦工...

ATCLOUD.NET-OVH海外高防云主机,采用KVM架构,稳定安全且便宜好用,仅3刀起

官方网站:点击访问ATCLOUD.NET官网优惠码:目前提供Cloud VPS与Storage VPS两款产品的六折优惠活动(续费同价,截止至2021年5月31日)优惠码:UMMBPBR20Z活动方案:一、型号CPU内存磁盘流量优惠价格购买链接VPS-1GB0.5×2.6+GHz1GB20GB1TB$3立即购买VPS-2GB1×2.6+GHz2GB50GB2TB$6立即购买VPS-4GB2×2.6...

curl_init为你推荐
单击media模块ios8请务必阅读正文之后的免责条款部分eaccelerator使用apmsevr中eAccelerator显示NO是什么问题eacceleratoreaccelerator.shm_size设置多少合适呢?tcpip上的netbios网络连接详细信息上的netbios over tcpip是什么意思?用itunes备份iphone怎么从itunes备份恢复win7如何关闭445端口如何关闭445端口,禁用smb协议谷歌sb在谷歌里搜SB为什么结果中第一个是百度icloudiphone苹果6显示已停用请连接itunes什么意思
香港主机租用 景安vps godaddy域名解析 yardvps mediafire 免费网站监控 河南服务器 e蜗牛 网站卫士 域名和空间 安徽双线服务器 超级服务器 个人免费主页 国外视频网站有哪些 环聊 视频服务器是什么 电信网络测速器 万网空间 免备案cdn加速 服务器托管价格 更多