PHP实现模拟登录签到功能

时间:2018-12-27
<?php 
 
date_default_timezone_set('Asia/Shanghai'); 
 
echo "执行开始:-----".date("Y-m-d H:i:s", time())."-----";
 
$user = '13*****2014'; //用户名
$pwd = '12****67';   //密码
 
$url = 'https://www.********/actlogin'; //登录地址指定到网站的登录地址
 
$signin = 'https://www*************dd'; //签到触发地址指定操作的触发地址
 
$postFields = 'sUserName='.$user.'&sPassword='.$pwd; //需要传递的参数
 
$path = './cookie.log'; //cookie.log 存储文件必须
 
if(is_file($path)){
    file_put_contents($path,''); //把字符串写入文件中
    $login = curl_init($url);  //创建一个curl资源
    curl_setopt($login,CURLOPT_HEADER,0);   //
    curl_setopt($login,CURLOPT_RETURNTRANSFER,1);  //当CURLOPT_RETURNTRANSFER设置为1时 $head 有请求的返回值
    curl_setopt($login,CURLOPT_POST,1);
    curl_setopt($login,CURLOPT_POSTFIELDS,$postFields);  //传输数据
    curl_setopt($login,CURLOPT_COOKIEJAR,$path); //链接时获取cookie存为文件
    $res = curl_exec($login);  //抓取url传递给浏览器
    // var_dump($res.PHP_EOL);
    curl_close($login);  //关闭curl资源 并释放系统资源
}else{
    echo '不存在文件cookie';
}
 
if (is_file($path)) {
    $sign = curl_init($signin);
    // curl_setopt($sign,CURLOPT_HTTPHEADER, $header);
    curl_setopt($sign,CURLOPT_HEADER,0);
    curl_setopt($sign,CURLOPT_POST,1);
    //curl_setopt($sign,CURLOPT_POSTFIELDS,'');
    curl_setopt($sign,CURLOPT_RETURNTRANSFER,1);  //当设置为0是$head没有返回值,直接输出请求的内容
    curl_setopt($sign,CURLOPT_COOKIEFILE,$path); //带着这个cookie文件访问
    $result = curl_exec($sign);
    
    curl_close($sign);
}else{
    echo '丢失文件cookie';
}
 
echo $result."-----执行结束:-----".date("Y-m-d H:i:s", time())."-----</br>";

demo代码如上,写好做一个定时任务执行就行了。
上一条:php实现给图片指定位置加水印文字 下一条:JS实现获取当前URL和来源URL的方法

相关文章

最新文章