<?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);//存入cookiecurl_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);//读取cookieecho $contents;$contents = curl_exec($ch);curl_close($ch); ?>
オンラインで待機しています。
Return
この Web サイトでは、存在します Cookie を使用してセッション ID を渡しますが、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" => " 登录 ",);
多くの大学が正方学務システムを使用していますか?私たちの学校も同様です
2階の分析は非常に正しいです、私は説明しているだけです!
URL http://jwxt.nbut.cn を入力すると、サーバーは Web ページにリダイレクトします。つまり、http://jwxt.nbut.cn の後に /random string/default_ysdx.aspx を追加します。このランダムな文字列は文字列はサーバー側に保存されます。だから死ぬほど書くのは間違っている。
まず、URL http://jwxt.nbut.cn をリクエストします。図に示すように、応答ヘッダー内の Location を取得します。
次に、URL を結合し、http://jwxt.nbut.cn/Location/default_ysdx.aspx URL に再度アクセスします。これがポイントです。
2: ソース コードの表示
送信されたパラメーターは、以下の表の配列ではなく、連想配列です。
いくつかの写真を切り取ります:
上記は完了です。ログインに成功しました。
私たちの学校にもこれがあります ==
しかし、Python で書くときに場所を取得するにはどうすればよいですか、ありがとう
手動 @ 2 階 @ 4 階