【HTTP】百度貼吧WEB版簽到流程分析


流程圖

在這裏插入圖片描述


接口抓包與分析

獲取二維碼

獲取二維碼接口

Url:https://passport.baidu.com/v2/api/getqrcode
請求方式:Get
請求參數:lp=pc
雖然抓包發現有很多參數,但是經過實際測試發現只需要傳lp這一個就可以了,後續接口不再做說明
返回結果:
{
“imgurl”:“passport.baidu.com/v2/api/qrcode?sign=2deb6e1fe648e5eeb2257ea5f582c566&lp=pc”,
“errno”:0,
“sign”:“2deb6e1fe648e5eeb2257ea5f582c566”,
“prompt”:“登錄後威馬將獲得百度帳號的公開信息(用戶名、頭像)”
}


輪詢掃碼結果

輪詢掃碼結果圖片

Url:https://passport.baidu.com/channel/unicast
Method:Get
參數:channel_id(獲取二維碼接口返回結果中的sign),callback(建議傳空)
callback參數是用於前端跨域時使用的
返回結果:callback({“errno”:1}) 未掃碼時的返回結果
callback({“errno”:0,“channel_v”:"{“status”:1}"}) 掃碼後沒確認登陸的返回結果
callback({“errno”:0,“channel_v”:"{“status”:0,“v”:“8b8efbbd9fd2c82ff14487189877e0c0”,“u”:null}"}) 確認登陸的返回結果
這裏的callback就是傳參時callback的值,所以我才建議傳空


獲取Cookie

獲取cookie

Url:https://passport.baidu.com/v3/login/main/qrbdusslogin
Method:Get
請求參數:bduss 上面掃碼結果中的v
返回結果:不在意返回結果

這一步關鍵是要保存好返回的cookie


獲取關注的吧

獲取關注的吧

Url:http://tieba.baidu.com/f/like/mylike
Method:Get
請求參數:pn(頁碼)
返回結果:關注的吧

這一步需要攜帶上方登陸接口的cookie請求,然後從返回的html中去解析出關注的吧的名稱,只需要名稱即可,因爲簽到接口的關鍵參數就是名稱。


貼吧簽到

沒圖了,直接寫接口吧。

Url:https://tieba.baidu.com/sign/add
Method:Post
請求參數:ie=utf-8、kw(要簽到的吧的名稱,中文,沒錯!)
返回結果:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

總結

按照流程圖基本可以很簡單的就完成一個簽到的腳本,唯一不好的地方是由於是掃碼登錄,所以不能做到完全自動。其實也可以去抓賬號密碼登錄的接口的,但是發現會出現一個旋轉驗證碼,那個不好繞過,因此退而求其次選擇了掃碼登錄。其實只要登錄了一次,cookie的過期時間非常長的。

另外獲取關注的吧這裏,其實一般來說只要獲取一次就好了,後期如果新增了某些關注的吧,可以自己手動添加,因爲大家也看到了,簽到接口只需要貼吧的名稱就可以了。(居然可以用名稱簽到,我一直以爲使用id之類的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章