天天看點

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

這次來做的是通過代碼的方式,模拟登入秒拍官網,擷取登入使用者的資訊。

本文的标題是CURL,傳統的網站是PHP代碼直接渲染項目視圖,通過表單送出到控制器直接進行資料操作。

傳統模拟登入的方式在頁面上找到表單元素,直接進行模拟表單送出。

近兩年前端技術趨于完善,實作了前後端分離。

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

通過審查元素以及源代碼查找,在本頁面并沒有<code>form</code>标簽,由此推斷頁面是通過js進行送出的。

由于送出的js代碼可能寫在了外部的js檔案中,直接查找很不友善,是以通過Chrome的調試模式尋找發送的http請求。

注意勾選下圖的<code>Preserve log</code>,避免頁面跳轉的請求記錄丢失。

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

填入手機号密碼,在Chrome的Network中查找登入接口請求。

顯然,得到登入請求接口 <code>http://www.miaopai.com/cu/login</code>

接口具體資訊如下

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

首先使用<code>postman</code>進行模拟登入測試。

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

模拟登入毫無壓力。

<code>pwd</code>字段經過測試隻是簡單的md5加密,沒有問題。

注意的是,<code>postman</code>自帶方法可以直接輸出各種語言的代碼。

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

經過整理的PHP代碼如下

我們發現登入接口的傳回值中,還存在<code>url</code>字段,拼接美拍網址之後是目前登入使用者的個人頁面,可以通過正則比對的方式,得到目前登入的其他資訊。

完整代碼如下

得到的結果如下

【CURL】模拟登入網站并擷取使用者資訊模拟登入網站并擷取使用者資訊

前後端分離是個趨勢,web端也變成了無狀态通信,通過token進行身份驗證。

結果不重要,重在方法和思路

<a href="http://blog.jobbole.com/65513/">http://blog.jobbole.com/65513/</a>