设置通过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;

}

}

?

RAKsmart 黑色星期五云服务器七折优惠 站群服务器首月半价

一年一度的黑色星期五和网络星期一活动陆续到来,看到各大服务商都有发布促销活动。同时RAKsmart商家我们也是比较熟悉的,这次是继双十一活动之后的促销活动。在活动产品中基本上沿袭双11的活动策略,比如有提供云服务器七折优惠,站群服务器首月半价、还有新人赠送红包等活动。如果我们有需要RAKsmart商家VPS、云服务器、独立服务器等产品的可以看看他们家的活动。这次活动截止到11月30日。第一、限时限...

RackNerd 黑色星期五5款年付套餐

RackNerd 商家从2019年上线以来争议也是比较大的,一直低价促销很多网友都认为坚持时间不长可能会跑路。不过,目前看到RackNerd还是在坚持且这次黑五活动也有发布,且活动促销也是比较多的,不过对于我们用户来说选择这些低价服务商尽量的不要将长远项目放在上面,低价年付套餐服务商一般都是用来临时业务的。RackNerd商家这次发布黑五促销活动,一共有五款年付套餐,涉及到多个机房。最低年付的套餐...

Megalayer 香港CN2优化线路VPS主机速度和性能综合评测

对于Megalayer云服务器提供商在之前也有对于他们家的美国服务器和香港服务器进行过评测和介绍,但是对于大部分网友来说需要独立服务器和站群服务器并不是特别的普及,我们很多网友使用较多的还是云服务器或者VPS主机比较多。在前面也有在"Megalayer新增香港VPS主机 1GB内存 50GB SSD 2M带宽 月59元"文章中有介绍到Megalayer商家有新增香港CN2优化VPS主机。那时候看这...

curl_init为你推荐
交换机routeadbandroid绑定ipad支持ipadtracerouteLinux 下traceroute的工作原理是什么 !css下拉菜单css下拉菜单代码itunes备份怎么使用iTunes备份canvas2七尾奈留除了DC canvas2 sola EF 快乐小兔幸运草 以外改编成动画的作品有哪些?icloudiphone苹果6显示已停用请连接itunes什么意思迅雷快鸟用迅雷快鸟提示:您所在的网络暂不支持迅雷快鸟
vps试用 查域名 vps优惠码cnyvps 代理域名备案 草根过期域名 服务器配置技术网 stablehost ubuntu更新源 大容量存储 浙江独立 e蜗牛 京东商城0元抢购 架设服务器 炎黄盛世 91vps 100m独享 最好的qq空间 重庆双线服务器托管 卡巴斯基免费试用版 七夕快乐英语 更多