前言
目前主流的QQ郵箱登入都是本地瀏覽器登入
- 1 載入網址 w.mail.qq.com/cgi-bin/log… 如下圖所示
- 2 輸入賬號密碼,登入成功以後獲取Cookie,然後交給爬蟲去幹活。
- 3 但是最近QQ的安全策略日趨嚴格,所以會出現本地網頁無法登入,必須使用一鍵登入,如下圖所示。
解決方案
大體思路還是必須通過使用者的手機QQ掃描二維碼登入,再回到登入頁面進行跳轉。比如51信用卡給使用者的提示
至於進行跳轉的是爬蟲還是直接在本地瀏覽器操作,這個都可以商榷。下面是操作步驟。
- 1 載入QQ郵箱Web頁面的登入網址 mail.qq.com/cgi-bin/log… 如下圖所示
-
2 有了pt_login_sig這個值以後可以本地執行Get請求地址為
-
ssl.ptlogin2.qq.com/ptqrlogin?u…
這裡只需要替換login_sig的Value就行,其他的可以不用修改。一般會返回兩種結果
ptuiCB('66','0','','0','二維碼未失效。(3635426236)', '')
這種表示二維碼可用預設為2分鐘
或者
ptuiCB('0','0','ssl.ptlogin2.mail.qq.com/check_sig?p…', 'CeShi')
這個時候需要請求一下返回的網址,直接請求,不需要做任何替換。 如果執行成功會直接登入郵箱並且會收到提醒訊息如圖
- 3 最後在剛才卡住的頁面執行跳轉 地址為 ssl.ptlogin2.mail.qq.com/check_sig?u…
後續就會跳轉成功。繼續執行後面的操作