21,873
社区成员




<?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 的情况了