CC's blog

CC的技术博客 专注于 it 互联网的技术爱好者

PHP CURL 抓取教务系统信息

<?php

//模拟登录
function login_post($url, $cookie, $post) {
    $curl = curl_init($url);//初始化curl模块
    // curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址
    curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息
    curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中
    curl_setopt($curl, CURLOPT_POST, 1);//post方式提交
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息
    curl_exec($curl);//执行cURL
    curl_close($curl);//关闭cURL资源,并且释放系统资源
}

//登录成功后获取数据
function get_content($url, $cookie,$headers) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);           
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);    //设置连接超时时间
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);   //设置请求头部信息
    curl_setopt($curl, CURLOPT_BINARYTRANSFER, true) ; //允许二进制传输
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');  //用于请求压缩过的内容
    // curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
    $rs = curl_exec($ch); //执行cURL抓取页面内容
    curl_close($ch);
    return $rs;
}
$headers = array(
//标注请求的header参数
    'Cookie:JSESSIONID=14CE837D989EA1C0AEB26E4D309DC44E.kingo154' ,
);
$url1='http://xk1.henu.edu.cn:7001/cas/logon.action';


//      这个参数也会改变
$url2='http://xk1.henu.edu.cn/wsxk/xkjg.ckdgxsxdkchj_data10319.jsp?params=eG49MjAxNSZ4cT0xJnhoPTAwMDA0NDYzNg==';
$url2='http://xk1.henu.edu.cn:7001/wsxk/xkjg.ckdgxsxdkchj_data10319.jsp?params=eG49MjAxNSZ4cT0xJnhoPTAwMDA0NDYzNg==';

$posts = array(
'isPasswordPolicy'=>1,
'password'=>’#########db8587f83d099d5c9c3',
'randnumber'=>3767,
'username'=>1345030253,

);

// login_post($url1, $cookie, $posts);

$result=get_content($url2,$cookie,$headers);
$rs=mb_convert_encoding($result, 'GBK', 'GBK,UTF-8,ASCII');
var_dump($result1);




?>
none

添加新评论