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"); PHP批量下载文件问题 php+mysql一、防止不断刷新,如何设置访问间隔为3S。二、多个客户端需不需要多个线程? 如何去抓取别人网站中更新的商品 既懂ASP又懂PHP的朋友来帮忙看看这个asp功能在php中怎么实现 终于冲上星星了,散分! 如何关闭窗口,才不会提示"确认关闭"??? PHP中如何向ASP.NET和C#发送变量?包括Session变量,get和Post方式除外。 安装了apache和php4之后不能用的问题。 php执行时为什么提示 如何关闭分拦? 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");