Cookie:
security_session_verify=782e071aefbd0f3fbbc96c3448293ac9; ASP.NET_SessionId=wul21rfjljriinbi0oo3ytqg; UserCode=n6qlbfccf7tfo3t9
三个的真正意思。
http://txx.cn/six/default.aspx?Cid=n6qlbfccf7tfo3t9&v=1
登陆后每次都是拿UserCode这个值。而且登陆一次变一次。只要不再次登陆http://tkxx.cn/six/default.aspx?Cid=n6qlbfccf7tfo3t9&v=1这个值可以用很久。但是没试过,好像会过期。
我用php模拟登陆时,存的cookie.txt文件会拿到
# Netscape HTTP Cookie File
# http://curl.hxxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_tkxx.cnFALSE/FALSE1584305037security_session_verify782e071aefbd0f3fbbc96c3448293ac9
#HttpOnly_tkxx.cnFALSE/FALSE0ASP.NE
下面是源码 $post = array(
'MobileID'=>'134126',
'Pass'=>'13760',
);
$url = "http://txxx.cn/User/Login.Aspx?Visitor=Yes";
//设置cookie保存路径
$cookie = dirname(__FILE__) . '/cookie_oschina.txt';
//登录后要获取信息的地址
$url2 = "http://txxx.cn/six/default.aspx?Cid=kjt0yy5jp45kxoqx&v=1";
//模拟登录
login_post($url, $cookie, $post);
//获取网站博客的信息
$content = get_content($url2, $cookie);
echo $content; //即为要抓取的内容
//var_dump($content);
模拟登录
function login_post($url, $cookie, $post) {
$curl = curl_init();//初始化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) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
curl_close($ch);
return $rs;
}
我的问题:
1.cid在cookie里面取不到,模拟登陆后cookie里面也没有。
2.如果再cookie里拿到值怎Cid值并拼接到url2上面
security_session_verify=782e071aefbd0f3fbbc96c3448293ac9; ASP.NET_SessionId=wul21rfjljriinbi0oo3ytqg; UserCode=n6qlbfccf7tfo3t9
三个的真正意思。
http://txx.cn/six/default.aspx?Cid=n6qlbfccf7tfo3t9&v=1
登陆后每次都是拿UserCode这个值。而且登陆一次变一次。只要不再次登陆http://tkxx.cn/six/default.aspx?Cid=n6qlbfccf7tfo3t9&v=1这个值可以用很久。但是没试过,好像会过期。
我用php模拟登陆时,存的cookie.txt文件会拿到
# Netscape HTTP Cookie File
# http://curl.hxxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_tkxx.cnFALSE/FALSE1584305037security_session_verify782e071aefbd0f3fbbc96c3448293ac9
#HttpOnly_tkxx.cnFALSE/FALSE0ASP.NE
下面是源码 $post = array(
'MobileID'=>'134126',
'Pass'=>'13760',
);
$url = "http://txxx.cn/User/Login.Aspx?Visitor=Yes";
//设置cookie保存路径
$cookie = dirname(__FILE__) . '/cookie_oschina.txt';
//登录后要获取信息的地址
$url2 = "http://txxx.cn/six/default.aspx?Cid=kjt0yy5jp45kxoqx&v=1";
//模拟登录
login_post($url, $cookie, $post);
//获取网站博客的信息
$content = get_content($url2, $cookie);
echo $content; //即为要抓取的内容
//var_dump($content);
模拟登录
function login_post($url, $cookie, $post) {
$curl = curl_init();//初始化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) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
curl_close($ch);
return $rs;
}
我的问题:
1.cid在cookie里面取不到,模拟登陆后cookie里面也没有。
2.如果再cookie里拿到值怎Cid值并拼接到url2上面