PHP 爬虫模拟登录签到(PC版)

<?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>";
写好之后挂一个自动程序就ok了

猜你喜欢

转载自blog.csdn.net/qq_24909089/article/details/79852985
今日推荐