21,894
社区成员




- <?php
- $login_url='http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/default_ysdx.aspx';
- $user='11480010126';
- $password='tianyun';
- $RadioButtonList1='学生';
- $__VIEWSTATE='dDw1MjQ2ODMxNzY7Oz5PMj6WMeVIzgWyGp6TS4sLvnQtaA==';
-
- $cookie_file = tempnam('./temp','cookie');
- $login_url = 'http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/default_ysdx.aspx';
- $post_fields = array($user,$password,$RadioButtonList1,$__VIEWSTATE);//传入参数
- $ch = curl_init($login_url);
- curl_setopt($ch, CURLOPT_HEADER, 0);//显示头部
- curl_setopt($ch, CURLOPT_POST, 1);//post传递
- $header[]='User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36';
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//模拟客户端
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);//显示页面
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);//post传递值
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);//存入cookie
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//允许重定向
- curl_exec($ch);
- curl_close($ch);
-
- $url='http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/xs_main.aspx?xh='.$user;
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_POST, 1);
- $header[]='Referer:http://jwxt.nbut.cn/(gnqj51blynlz1k45ufftjgux)/default_ysdx.aspx';
- $header[]='User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36';
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);//读取cookie
- echo $contents;
- $contents = curl_exec($ch);
- curl_close($ch);
-
- ?>
$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 的情况了