網(wǎng)上有很多關(guān)于pos機(jī)簽到提示73,利用Python實(shí)現(xiàn)App自動(dòng)簽到領(lǐng)取積分的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)簽到提示73的問(wèn)題,今天pos機(jī)之家(m.afbey.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)簽到提示73
要自動(dòng)簽到,最簡(jiǎn)單的是打開(kāi)頁(yè)面分析請(qǐng)求,然后我們用腳本實(shí)現(xiàn)請(qǐng)求的自動(dòng)化。但是發(fā)現(xiàn)食行沒(méi)有頁(yè)面,只有 APP,這不是一個(gè)好消息,這意味著需要抓包處理了。
有需要Python學(xué)習(xí)資料的小伙伴嗎?小編整理【一套Python資料、源碼和PDF】,感興趣者可以關(guān)注小編后私信學(xué)習(xí)資料(是關(guān)注后私信哦)反正閑著也是閑著呢,不如學(xué)點(diǎn)東西啦
不過(guò)還好,我們有微信。
在微信里面,我們發(fā)現(xiàn)也可以登錄食行,這時(shí)選擇在瀏覽器中打開(kāi)頁(yè)面,~哎~ ,柳暗花明了,我們找到了一個(gè)可用的網(wǎng)頁(yè)地址:wechatx.34580.com
下面的操作就好辦了,在電腦端的瀏覽器打開(kāi)網(wǎng)址,按下 F12,開(kāi)始起飛~
登錄分析
點(diǎn)擊簽到后,會(huì)跳轉(zhuǎn)到用戶(hù)登錄頁(yè)面: https://wechatx.34580.com/mart/#/sign/in,輸入登錄信息后,點(diǎn)擊登錄,同時(shí)關(guān)注開(kāi)發(fā)調(diào)試欄的網(wǎng)絡(luò)交互信息 。
可以發(fā)現(xiàn),登錄的請(qǐng)求地址是: https://wechatx.34580.com/sz/Sign/SignInV2,并且會(huì)在請(qǐng)求時(shí)帶著登錄信息 :
{ "SourceType": "9", "Phone": "18800000000", "PassWord": "98a53578bd74e150", "ZhuGeDeviceMd5": "164edd53b71674-02922cef4808a-47e1039-e1000-164edd53b7222e", "DeviceId": ""}
現(xiàn)在,還無(wú)法確定哪些字段是必填的,哪些是可以不傳的。
有一個(gè)問(wèn)題是,密碼是經(jīng)過(guò)加密的,我在頁(yè)面輸入的 000000 ,這里變成了 98a53578bd74e150。這里我找了半天是如何加密的,也沒(méi)有找到,若是有大神有辦法,還請(qǐng)留言告知!
不過(guò)還好,加密方式是固定的,也就是 000000 一直對(duì)應(yīng)的是 98a53578bd74e150,我們只要記下這個(gè)加密后的密碼,在登錄時(shí),傳入后臺(tái)即可。
登錄成功后,請(qǐng)求會(huì)響應(yīng)一些 token 數(shù)據(jù):
{ "Error": 0, "Message": "返回正確", "Data": { "CustomerGuid": "d8cd7c84-xxxx-4369-xxxx-b1e86c027407", "Phone": "18800000000", "AccessToken": "73c7b5fxxxxxxx" }}
只要 Error 字段為 0,就代表登錄成功!
簽到分析
登錄成功后,頁(yè)面會(huì)自動(dòng)跳轉(zhuǎn)到首頁(yè),我們可以看到簽到圖標(biāo),點(diǎn)擊它,進(jìn)入簽到頁(yè)面:
發(fā)現(xiàn)進(jìn)來(lái)還是一個(gè)簽到按鈕,套娃??!再點(diǎn)它!
終于簽到成功!
發(fā)現(xiàn)簽到的請(qǐng)求: https://wechatx.34580.com/sz/SignUp/CustomerSignUp
簽到請(qǐng)求中有兩個(gè)重要的參數(shù),accesstoken 和 customerguid,這兩個(gè)參數(shù)就是登陸后返回的。
簽到請(qǐng)求響應(yīng):
{ "Error": 0, "Message": "返回正確", "Data": { "GetPoints": 5, "SumGetPoints": 840 }}
返回說(shuō)這次簽到獲得了 5 個(gè)積分,其實(shí)連續(xù)簽到 4 天后,每天就可以獲得 20 積分了!
實(shí)現(xiàn)
通過(guò)上面的分析,我們的簽到流程也很清晰了,首先就是登陸獲取 accesstoken 和 customerguid,然后再去簽到就可以了!
import requests, json, sysdef login(Phone, PassWord): url = "https://wechatx.34580.com/sz/Sign/SignInV2" payload = { \'SourceType\': 9, \'Phone\': Phone, \'PassWord\': PassWord } # 測(cè)試下來(lái)發(fā)現(xiàn),連 header 都不需要 response = requests.post(url, data=json.dumps(payload)) data = json.loads(response.text) is_error = data[\'Error\'] # 登錄失敗直接退出 if is_error: print(\'登錄失?。簕}\'.format(data[\'Message\'])) sys.exit(1) else: print(\'登錄成功!\') return data[\'Data\'][\'CustomerGuid\'], data[\'Data\'][\'AccessToken\']def signin(customerguid, accesstoken): url = "https://wechatx.34580.com/sz/SignUp/CustomerSignUp" querystring = {"accesstoken": accesstoken, "customerguid": customerguid, "sourcetype": "9"} # 這次不需要 body 中的傳入數(shù)據(jù) response = requests.post(url, params=querystring) data = json.loads(response.text) is_error = data[\'Error\'] if is_error: print(data[\'Message\']) else: print("簽到成功,獲取到 {} 個(gè)積分".format(data[\'Data\'][\'GetPoints\']))if __name__ == "__main__": Phone = input(\'請(qǐng)輸入賬號(hào):\') PassWord = input(\'請(qǐng)輸入密碼:\') customerguid, accesstoken = login(Phone.strip(), PassWord.strip()) signin(customerguid, accesstoken)
運(yùn)行:
$ python shsx.py請(qǐng)輸入賬號(hào):188xxxxxxxx請(qǐng)輸入密碼:98a53578bd74e150登錄成功!簽到成功,獲取到 20 個(gè)積分
最后,怎么自動(dòng)執(zhí)行?把登錄信息寫(xiě)死到代碼里,然后放到 Linux 下的 crontab 里,每天早上執(zhí)行一次就行啦~
總結(jié)
這里還有一個(gè)遺留問(wèn)題,就是登錄密碼的獲取,現(xiàn)在還只能通過(guò) F12 查看請(qǐng)求獲取到,然后記下來(lái)。
有需要Python學(xué)習(xí)資料的小伙伴嗎?小編整理【一套Python資料、源碼和PDF】,感興趣者可以關(guān)注小編后私信學(xué)習(xí)資料(是關(guān)注后私信哦)反正閑著也是閑著呢,不如學(xué)點(diǎn)東西啦
以上就是關(guān)于pos機(jī)簽到提示73,利用Python實(shí)現(xiàn)App自動(dòng)簽到領(lǐng)取積分的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)簽到提示73的知識(shí),希望能夠幫助到大家!