Press "Enter" to skip to content

php模拟登录后操作

1、确定登录参数并构造

2、指定cookie存储文件路径

3、使用第二步生成的cookie文件请求登录

        //cookie 存放路径
        $cookiePath = '/usr/local/nginx/html/cookie_test/caiji_jt';
        //模拟登录
        if(!file_exists($cookiePath)) {
            echo "登录__". PHP_EOL;
            $LoginData= curl_post('https://www.jtgloble.com/user.php', $loginData, $cookiePath);
        } else {
            echo "已登录__". PHP_EOL;
        }
function curl_post($url, $data = [], $cookie = false)
    {
        // 初始化
        $ch = curl_init();
        // 设置post方式提交
        curl_setopt($ch, CURLOPT_POST, 1);
        // 设置头文件的信息作为数据流输出
        curl_setopt($ch, CURLOPT_HEADER, 0);
        // 是否要求返回数据
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        // 设置抓取的url
        curl_setopt($ch, CURLOPT_URL, $url);
        // 提交的数据
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        // 是否检测服务器的证书是否由正规浏览器认证过的授权CA颁发的
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        if($cookie !== false) {
            curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); //设置cookie信息保存在指定的文件夹中
        }
        // 执行命令
        $result = curl_exec($ch);
        // 关闭URL请求(释放句柄)
        curl_close($ch);
        return $result;
    }
$contents = $mMyDom->get_myContent($url, $cookiePath);
public  function get_myContent($url, $cookiePath)
    {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiePath);
        $contents = curl_exec($ch);
        curl_close($ch);
        return $contents;
    }
发表评论