Python3 微信公衆平臺模擬登陸 requests模擬請求

  • 聲明此代碼僅供技術交流學習,擅自用於其他,一切後果與本人無關
    目標網址: https://mp.weixin.qq.com/

所謂模擬登陸,就是自己模擬構造請求發送給服務器,然後服務器返回認證的信息過來,當然這個其中的交互過程稍微有點複雜,可能不止一次的交互。
我們這次模擬登陸成功的標誌就是拿到登陸後的token和cookie, cookie有過期時間,我稍微測試了下大概有10個小時左右。

效果圖

按照慣例首先擺上效果圖,證明我這個代碼目前是真實可以運行的。
圖一:是完整登陸後的過程,打印出來了token 和 cookie, 這是演示代碼,實際可以存儲起來到redis或者其他地方。
在這裏插入圖片描述

圖二: 這是驗證tokne和cookie是否有用,由於我的公衆號就只發了一遍測試文章,內容啥的都沒有,所有拿到的json數據很少,但是總的來說是可以的。
在這裏插入圖片描述

思路

由於這個代碼是我很早寫的,所以思路就沒有圖文對照,懶得再去截圖演示了,但是上面兩個效果圖是我寫博客的時候又重寫運行過一遍的,目前是有效的。

  • 1 首先一般的步驟都是打開Chrome瀏覽器,打開網址,然後f12 找到 填寫賬號密碼的from表單之類的,但是這個套路針對此次模擬行不通。

因爲微信公衆平臺老是跳轉刷新,所以很難找到請求的網址和接口。
好了,分析不了,告辭,文章結束。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
在這裏插入圖片描述

  • 好吧, 其實我們可以打開網頁後用抓包工具看各種請求的接口和跳轉情況。
    我們先在瀏覽器打開網址,然後打開fiddler或者charles 等抓包工具,不會抓包工具的,這裏不講,自己去找找相關資料,安裝使用不難,就是有點繁瑣。(抓取瀏覽器接口的時候記得把瀏覽器上的代理插件去掉,否則抓不到, 如果有代理的話)

我再想想我該寫什麼了? 好吧沒什麼可以寫的。

  • 簡單的說一下運行邏輯。
  • 1 首先是模擬表單發送一個post請求, 注意密碼是md5之後的值
  • 2 模擬請求後可能出現驗證碼,如果有就請求驗證碼,(驗證碼url會攜帶登陸cookie),然後手動輸入重新post
  • 3 跳轉到掃描二維碼界面,這會就有兩個邏輯,第一個是賬號持有人掃碼,第二個是非賬號持有人。
  • 3.1賬號持有人掃碼,掃完就直接登陸確認。
  • 3.2 非賬號持有人,掃完後,會繼續跳轉到賬號本人掃碼界面(貌似賬號本人微信會直接提示,直接確認就行)
  • 4 直接訪問主頁,獲取token,然後把現在自身的cookie保存,模擬登陸到此就完成了。

代碼現在上傳到我的github上面。
https://github.com/wgPython/wechat_subscription
如果對你有幫助,麻煩點下star!!畢竟寫代碼,寫博客都是義務操作。

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