使用 類比登陸 抓取學校系統的晨跑資料,失敗了,請教大神

來源:互聯網
上載者:User
最近在學習php的類比登陸,就想拿學校的體育教學系統實踐一下,但失敗了。請教大神,My Code到底錯在了哪?

【一些資訊】
登入系統的地址:http://210.35.75.247:8080/student/studentFrame.jsp
(使用者名稱:1101001,密碼:1101001,角色:學生)
查晨跑的地址:http://210.35.75.247:8080/student/queryCheckInfo.jsp

【代碼如下】
 


【第一次發帖,拜謝!】


回複討論(解決方案)

你的代碼沒有大問題,curl_exec()返回的是結果,你沒有接收沒有輸出,所以空白了
剛才試了一下,登陸成功了

 $name,    'passwd' => $pw,);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));$con = curl_exec($ch);curl_close($ch);echo preg_replace('/ 

回樓上wander_wind:

謝謝!不過其實我想抓的是晨跑資料,所以就想通過類比登陸把登入的cookie儲存下來,再去這個地址(http://210.35.75.247:8080/student/queryCheckInfo.jsp)抓取晨跑次數。不知道為什麼顯示登入錯誤,能請大神再幫我看看嗎?麻煩了!謝謝!


你的代碼沒有大問題,curl_exec()返回的是結果,你沒有接收沒有輸出,所以空白了
剛才試了一下,登陸成功了

 $name,    'passwd' => $pw,);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));$con = curl_exec($ch);curl_close($ch);echo preg_replace('/  

別客氣我也只是菜鳥,一起研究學習下
首先聲明幾個名詞...
架構頁 student/studentFrame.jsp 表單提交的action地址
學生資訊頁 student/studentInfo.jsp 是架構頁的iframe自動載入的src
晨跑成績 student/queryCheckInfo.jsp
用firebug跟蹤了一下登陸流程,發現架構頁的iframe載入的學生資訊後面帶了參數?username=...&passwd=....,猜測真正的登陸流程應該在學生資訊頁。我把登陸失敗的頁面不echo儲存在檔案中看了下,架構頁的html和登陸成功幾乎相同,只是多了一段跳轉js。利用學生資訊頁的JSESSIONID登陸成功了,和架構頁的對比下,不一樣。蛋疼的管理系統

 $name,    'passwd' => $pw,);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url1 . '?' . http_build_query($params));curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$con = curl_exec($ch);preg_match('/Set-Cookie: (.*);/Us', $con, $match);$cookie = $match[1];curl_setopt($ch, CURLOPT_URL, $url2);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_COOKIE, $cookie);$con = curl_exec($ch);curl_close($ch);echo $con;

啊,原來如此,是 http://210.35.75.247:8080/student/studentInfo.jsp 在作怪。已經成功!拜謝!!

別客氣我也只是菜鳥,一起研究學習下
首先聲明幾個名詞...
架構頁 student/studentFrame.jsp 表單提交的action地址
學生資訊頁 student/studentInfo.jsp 是架構頁的iframe自動載入的src
晨跑成績 student/queryCheckInfo.jsp
用firebug跟蹤了一下登陸流程,發現架構頁的iframe載入的學生資訊後面帶了參數?username=...&passwd=....,猜測真正的登陸流程應該在學生資訊頁。我把登陸失敗的頁面不echo儲存在檔案中看了下,架構頁的html和登陸成功幾乎相同,只是多了一段跳轉js。利用學生資訊頁的JSESSIONID登陸成功了,和架構頁的對比下,不一樣。蛋疼的管理系統

 $name,    'passwd' => $pw,);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url1 . '?' . http_build_query($params));curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$con = curl_exec($ch);preg_match('/Set-Cookie: (.*);/Us', $con, $match);$cookie = $match[1];curl_setopt($ch, CURLOPT_URL, $url2);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_COOKIE, $cookie);$con = curl_exec($ch);curl_close($ch);echo $con;

貌似有分可以給
另外這裡好像要結貼

哈哈,不好意思啊,第一次發帖不瞭解情況,已給分~ 謝謝!

貌似有分可以給
另外這裡好像要結貼

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.