模拟登陆正方教务系统,重定向一直解决不了〉。。 教务系统curl模拟登陆 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 返回 <script language='javascript'>alert('密码错误!!');</script>这个网站没有使用 cookie 传递 sessionid 而是通过 url 传递的所以你把这个写死是不行的:http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/default_ysdx.aspx而是应这样写$url = 'http://jwxt.nbut.cn';$u = get_headers($url, 1);$login_url = 'http://jwxt.nbut.cn' . dirname($u['Location']) . '/default_ysdx.aspx';另外提交的参数应是关联数组,而非下标数组$post_fields = array( 'TextBox1' => $user = '11480010126', 'TextBox2' => 'tianyun', 'RadioButtonList1' => '学生', '__VIEWSTATE' => 'dDw1MjQ2ODMxNzY7Oz5PMj6WMeVIzgWyGp6TS4sLvnQtaA==', "Button1" => " 登录 ",);注意:要使用 gbk 编码的所以并不是重定向的问题,而是你根本就没有登录上去用于现在返回的是 密码错误,所以无法再观察第二段 curl 的情况了 2楼已经分析的很正确,我只作解释!当输入网址http://jwxt.nbut.cn,服务端会重定向到一个网页,也就是在http://jwxt.nbut.cn后加上/随机串/default_ysdx.aspx,这个随机串存储到服务端的。所以你写死就是不正确的。首先请求网址http://jwxt.nbut.cn。获取响应头中的Location,如图:然后拼接你的url,再次访问http://jwxt.nbut.cn/Location/default_ysdx.aspx网址。这是一点。2:查看源代码提交的参数是关联数组,并非下表数组。截部分图:上面完成了!你就登录成功了。 php方法调用不了,在线等待请求帮助! 寻求一个比较复杂的图片滚动 一个mysql数据的问题 可以使用_SESSION来传递对象吗? 问一个正则的问题 在JS如何加个PHP的变量?---小白 用正式表达式,屏敝脏话..... 你没有哪位同仁合作开发网站?(我可以帮助啊) 有谁帮我解决文件上传功能 如何在xp下,安装imail8.0,一安装就说安装程序必须被关闭,无法继续?怎么办? 关于PHP变量作用域问题 原有的项目上新增个单独的页面调用原项目的数据库出错··急
所以你把这个写死是不行的:
http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/default_ysdx.aspx
而是应这样写$url = 'http://jwxt.nbut.cn';
$u = get_headers($url, 1);
$login_url = 'http://jwxt.nbut.cn' . dirname($u['Location']) . '/default_ysdx.aspx';
另外提交的参数应是关联数组,而非下标数组$post_fields = array(
'TextBox1' => $user = '11480010126',
'TextBox2' => 'tianyun',
'RadioButtonList1' => '学生',
'__VIEWSTATE' => 'dDw1MjQ2ODMxNzY7Oz5PMj6WMeVIzgWyGp6TS4sLvnQtaA==',
"Button1" => " 登录 ",
);
注意:要使用 gbk 编码的所以并不是重定向的问题,而是你根本就没有登录上去用于现在返回的是 密码错误,所以无法再观察第二段 curl 的情况了
当输入网址http://jwxt.nbut.cn,服务端会重定向到一个网页,也就是在http://jwxt.nbut.cn后加上/随机串/default_ysdx.aspx,这个随机串存储到服务端的。所以你写死就是不正确的。
首先请求网址http://jwxt.nbut.cn。获取响应头中的Location,如图:
然后拼接你的url,再次访问http://jwxt.nbut.cn/Location/default_ysdx.aspx网址。这是一点。
2:查看源代码
提交的参数是关联数组,并非下表数组。
截部分图:
上面完成了!你就登录成功了。