PHP Curl 模拟登录问题
时间:2011-09-07
来源:互联网
如题,已登录进去了,且已查看到保存了cookie,但当使用cookie进入其它页面时有问题,看上去像是没有取到cookie.
<?php
echo "Hello World";
$cookie_file = dirname(__FILE__).'/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.stockmarket.aero/StockMarket/LoginAction.do");
curl_setopt ( $ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
// Do a POST
$data = array('username' => '***','password' => '***','group1' => 'signIn');
$data = http_build_query($data, '&');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookie_file);
$output = curl_exec($ch);
if ($output === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
//如果在此使用echo $output ,可得到登录进去后的页面。说明上面这一部分的代码已成功运行,而且已查看有最新的cookie.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.stockmarket.aero/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie_file); //怀疑此处没有取到cookie
$output2 = curl_exec($ch);
if ($output2 === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
echo $output2; //跳回登录界面,提醒还需再登录.
?>
请指点。。。
<?php
echo "Hello World";
$cookie_file = dirname(__FILE__).'/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.stockmarket.aero/StockMarket/LoginAction.do");
curl_setopt ( $ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
// Do a POST
$data = array('username' => '***','password' => '***','group1' => 'signIn');
$data = http_build_query($data, '&');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookie_file);
$output = curl_exec($ch);
if ($output === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
//如果在此使用echo $output ,可得到登录进去后的页面。说明上面这一部分的代码已成功运行,而且已查看有最新的cookie.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.stockmarket.aero/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie_file); //怀疑此处没有取到cookie
$output2 = curl_exec($ch);
if ($output2 === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
echo $output2; //跳回登录界面,提醒还需再登录.
?>
请指点。。。
作者: zou274 发布时间: 2011-09-07
附cookie:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
www.stockmarket.aero FALSE /StockMarket TRUE 0 JSESSIONID F513161730210CC2ED293F4C393CC3C9
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
www.stockmarket.aero FALSE /StockMarket TRUE 0 JSESSIONID F513161730210CC2ED293F4C393CC3C9
作者: zou274 发布时间: 2011-09-07
没人明白,还是分给的不够? 请帮忙看看,出出主意。谢谢了。
作者: zou274 发布时间: 2011-09-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28