curl抓取frame里面的cookie 测试地址比较私人,我私信你 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //模拟登陆获取cookie function getCookie(){ $ch = curl_init(); $url = 'http://portal.jnu.edu.cn/portal'; $cookie_jar = dirname(__FILE__)."/pic.cookie"; //@unlink($cookie_jar); $post = array('username'=>'*****','password'=>'******','userNameType'=>'cardID','action'=>'JnuLogin','submit'=>'%E7%99%BB%E5%BD%95'); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER, 1); // 对认证证书来源的检查,0表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字符串。 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); $referer = 'http://card.jnu.edu.cn/platform/cc/index'; curl_setopt($ch, CURLOPT_REFERER, $referer); //构造来路 // 发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。 curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); curl_setopt($ch,CURLOPT_AUTOREFERER,true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar); $result = curl_exec($ch); preg_match('/Set-Cookie:(.*);/iU',$result,$str); //正则匹配 var_dump($str); if (curl_errno($ch)) { print curl_error($ch); } $result = curl_exec($ch); // print($result); curl_close($ch); }//获取cookie以后,访问这个地址$cookie_jar = dirname(__FILE__)."/pic.cookie"; $ch = curl_init(); $url = 'http://portal.jnu.edu.cn/portal/media-type/html/user/校园卡号/page/default.psml/js_pane/P-12b0f0396aa-10000'; $referer = 'http://kygl.jnu.edu.cn/jnu/unieap/frame/left.jsp?app=personal'; curl_setopt($ch, CURLOPT_REFERER, $referer); //构造来路 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, '3000'); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar); curl_setopt($ch,CURLOPT_COOKIEJAR,dirname(__FILE__)."/new.cookie"); curl_setopt($ch,CURLOPT_AUTOREFERER,true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); print($result); if (curl_errno($ch)) { print curl_error($ch); } curl_close($ch); @unlink(dirname(__FILE__)."/pic.cookie"); 数据库结构--怎么判断是否有新回复? 怎么删除一段字符串里面,除了数字,其他都删除 当HTML页面中的一个form的action属性设置为request.html时??? php 随机一次性取四个数怎么处理?? php有没有在任何用户的浏览器都能访问的变量? 用循环读出数据库数据,为什么没数据的字段,单元格会没有边边? php相关函数提问报错! php mysql 缓存问题? 请给一个简单的例子,实现单窗口登陆,如果关闭此ie则退出 php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助! php怎么让ie打开某个网址? 我想用php读取xml的三个值
function getCookie(){
$ch = curl_init();
$url = 'http://portal.jnu.edu.cn/portal';
$cookie_jar = dirname(__FILE__)."/pic.cookie";
//@unlink($cookie_jar);
$post = array('username'=>'*****','password'=>'******','userNameType'=>'cardID','action'=>'JnuLogin','submit'=>'%E7%99%BB%E5%BD%95');
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER, 1);
// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
//模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字符串。
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
$referer = 'http://card.jnu.edu.cn/platform/cc/index';
curl_setopt($ch, CURLOPT_REFERER, $referer); //构造来路
// 发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch,CURLOPT_AUTOREFERER,true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$result = curl_exec($ch);
preg_match('/Set-Cookie:(.*);/iU',$result,$str); //正则匹配
var_dump($str);
if (curl_errno($ch)) {
print curl_error($ch);
}
$result = curl_exec($ch);
// print($result);
curl_close($ch);
}//获取cookie以后,访问这个地址
$cookie_jar = dirname(__FILE__)."/pic.cookie";
$ch = curl_init();
$url = 'http://portal.jnu.edu.cn/portal/media-type/html/user/校园卡号/page/default.psml/js_pane/P-12b0f0396aa-10000';
$referer = 'http://kygl.jnu.edu.cn/jnu/unieap/frame/left.jsp?app=personal';
curl_setopt($ch, CURLOPT_REFERER, $referer); //构造来路
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, '3000');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch,CURLOPT_COOKIEJAR,dirname(__FILE__)."/new.cookie");
curl_setopt($ch,CURLOPT_AUTOREFERER,true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
print($result);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);
@unlink(dirname(__FILE__)."/pic.cookie");