设置通过curl登录访问的php代码

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

通过curl登录访问的PHP代码

$data=‘username=zjzhoufy@126.com pas sword=1 q2w3e remember=1’ ;

$curlobj=curl_in it(); //初始化curl_s etopt($curlobj,CURLOPT_URL, http://www.imooc.c om/us er/login //设置访问网页的URLc url_s etopt($c urlobj,CURLOP T_RETURNTRANSFER,true); //执行之后不直接打印出来

//Cookie相关设置这部分设置需要在所有会话开始之前设置date_default_timezone_set(‘PRC’);//使用Cookie时必须先设置时区curl_s etopt($curlobj,CURLOPT_COO KI ESES SION,TRUE);curl_s etopt($curlobj,CURLOPT_COO KI EJAR, ’c ookie.txt’);//保存curl_s etopt($curlobj,CURLOPT_COO KI EFILE, ’c ookie.txt’);//读取c url_s etopt($c urlobj,CURLOPT_HEADER,0);curl_s etopt($curlobj,CURLOPT_FOLLOWLOCATION,1);//这样能够让cURL支持页面链接跳转curl_setopt($curlobj,CURLOPT_COOKI E,ses sion_name(). ’=‘ .session_id());curl_s etopt($curlobj,CURLOPT_POST,1);curl_s etopt($curlobj,CURLOPT_POSTFIELDS,$data);curl_s etopt($curlobj,CURLOPT_HTTPHEADER,array( applic ation/x-www-form-urlenc oded;chars et=utf-8,

Content-length: .s trlen($data)

));c url_exec($c urlobj); //执行curl_s etopt($curlobj,CURLOPT_URL,http://www.imooc.c om/spac e/indexcurl_s etopt($curlobj,CURLOPT_POST,0);

c url_s etopt($c urlobj,CURLOP T_HT TPHEADER,array(Content-type:text/xml

));

$output=c url_exec($c urlobj); //执行curl_c los e($curlobj); //关闭cURLec ho$output;

?

如上代码并不完美我们应该把c ookie存到缓存中不应该持久化并且这样的持久化只能是单用户访问才行。

所以其实我们只要设置

CURLOPT_COOKI ESES SION

如下即可

?p hp

$data=‘username=demo_demo@126.c om pas sword=123456qwe remember=1’ ;

$curlobj=curl_in it(); //初始化curl_s etopt($curlobj,CURLOPT_URL, http://www.imooc.c om/us er/log in //设置访问网页的URLc url_s etopt($c urlobj,CURLOP T_RETURNTRANSFER,true); //执行之后不直接打印出来

//Cookie相关设置这部分设置需要在所有会话开始之前设置date_default_timezone_set(‘PRC’);//使用Cookie时必须先设置时区curl_s etopt($curlobj,CURLOPT_COO KI ESES SION,TRUE);

c url_s etopt($c urlobj,CURLOPT_HEADER,0);curl_setopt($curlobj,CURLOPT_COOKI E,ses sion_name(). ’=‘ .session_id());

//注释掉这行因为这个设置必须关闭安全模式以及关闭open_bas edir对服务器安全不利

//curl_s etopt($curlobj,CURLOPT_FOLLOWLOCATION,1);curl_s etopt($curlobj,CURLOPT_POST,1);curl_s etopt($curlobj,CURLOPT_P OSTFIELDS,$data);curl_s etopt($curlobj,CURLOPT_HTTPHEADER,array( applic ation/x-www-form-urlenc oded;chars et=utf-8,

Content-length: .s trlen($data)

));c url_exec($c urlobj); //执行curl_s etopt($curlobj,CURLOPT_URL,http://www.imooc.c om/spac e/indexcurl_s etopt($curlobj,CURLOPT_POST,0);c url_s etopt($c urlobj,CURLOP T_HT TPHEADE R,array(Content-type:text/xml

));

$output=c url_redir_exec($c urlobj); //执行curl_c los e($curlobj); //关闭cURLec ho$output;

*自定义实现页面链接跳转抓取

*/func tioncurl_redir_exec($ch,$debug=)

{

static$curl_loops=0;static$curl_max_loops=20;if($curl_loops++=$curl_max_loops)

{

$curl_loops=0;r eturnFALS E;

}c url_s etopt($c h,CURLOPT_HEAD ER,true);//开启header才能够抓取到重定向到的新URLc url_s etopt($c h,CURLOPT_RET URNTRANSF ER,true);

$data=curl_exec($ch);

//分割返回的内容

$h_len=c url_get info($c h,CURLINF O_HEADER_S IZE);

$header=substr($data,0,$h_len);

$data=substr($data,$h_len-1);

$http_c ode=c url_getinfo($c h,CURLINF O_HT TP_CODE);if($http_c o de==301| |$http_c o de==302){

$matches=array();preg_match(‘/Location:(.*?)\n/’ ,$header,$matches);

$url=@pars e_url(trim(array_pop($matc hes)));

//p r int_r($ur l);if(!$ur l)

{

//c ouldn’tproc esstheurltoredirec tto

$curl_loops=0;r eturn$data;

}

$last_url=pars e_url(curl_getinfo($c h,CURLINFO_EFFE CTIVE_URL));if(!is s et($url[‘sc heme’]))

$url[‘scheme’]=$last_url[‘scheme’];if(!is s et($url[‘hos t’]))

$url[‘host’]=$last_url[‘host’];if(!is s et($url[‘p ath’]))

$ur l[‘p ath’]=$las t_ur l[‘p ath’];

$new_url=$url[‘sc heme’]. ’ ://’ .$url[‘hos t’].$url[‘p ath’].(is s et($url[‘query’])?’?’.$url[‘query’]:’’);c url_s etopt($c h,CURLOPT_URL,$new_url);returnc url_redir_exec($c h);

}els e{

$curl_loops=0;r eturn$data;

}

}

?

2022年最新PHP短网址生成系统/短链接生成系统/URL缩短器系统源码

全新PHP短网址系统URL缩短器平台,它使您可以轻松地缩短链接,根据受众群体的位置或平台来定位受众,并为缩短的链接提供分析见解。系统使用了Laravel框架编写,前后台双语言使用,可以设置多域名,还可以开设套餐等诸多功能,值得使用。链接: https://pan.baidu.com/s/1ti6XqJ22tp1ULTJw7kYHog?pwd=sarg 提取码: sarg文件解压密码 www.wn7...

racknerd新上架“洛杉矶”VPS$29/年,3.8G内存/3核/58gSSD/5T流量

racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...

2021年恒创科技618活动:香港/美国服务器/云服务器/高防全场3折抢购

2021年恒创科技618活动香港美国服务器/云服务器/高防全场3折抢购,老客户续费送时长,每日限量秒杀。云服务器每款限量抢购,香港美国独服/高防每款限量5台/天,香港节点是CN2线路还不错。福利一:爆品秒杀 超低价秒杀,秒完即止;福利二:云服务器 火爆机型 3折疯抢;福利三:物理服务器 爆款直降 800元/月起;福利四:DDOS防护 超强防御仅 1750元/月。点击进入:2021年恒创科技618活...

curl_init为你推荐
loadedios模块ios8更新iphone敬请参阅报告结尾处免责声明eacceleratoraccess violation问题的解决办法!ipad连不上wifiipad2 wifi连接不上,刚连上就弹出一个 success页面iphone连不上wifi我的苹果手机连不上无线,其它手机能,怎么回事?只是家里的连不上联通版iphone4s苹果4s是联通版,或移动版,或全网通如何知道?win7如何关闭445端口如何彻底永久取消win7粘滞键功能google分析google analysis干什么用的?
100m虚拟主机 合租服务器 域名备案批量查询 godaddy域名解析教程 主机评测 主机屋免费空间 服务器cpu性能排行 华为云主机 lamp配置 免费网络电视 英文站群 灵动鬼影 777te 架设服务器 国外代理服务器软件 天翼云盘 绍兴电信 cloudlink 中国电信测速器 cxz 更多