python模拟手机app签到_Python实现云之家自动签到
起因
偶然看到一個同事設(shè)置鬧鐘,提醒自己下班打開。就突發(fā)奇想,既然身為后臺開發(fā)是不是可以用程序來實現(xiàn)自動打卡的功能呢?
于是開起來fiddler進(jìn)行抓包,發(fā)現(xiàn)設(shè)置代理,云之家無法進(jìn)行簽到功能。既然電腦無法進(jìn)行代理,那我直接在手機上開啟個代理應(yīng)用進(jìn)行抓包不就行了么?
接口分析
最后抓到的結(jié)果簽到接口
[圖片上傳失敗...(image-19a0c1-1565157407399)]
分析下接口
域名:www.yunzhijia.com
接口:/attendance-signapi/signservice/sign/signIn h2
請求方式:POST
請求參數(shù)
lng=緯度&lat=精度&bssid=&configId=配置ID&networkId=網(wǎng)絡(luò)ID&userId=用戶ID&ssid=
請求頭部
1.user-agent
2.opentoken
3.authorization
4.content-type
5.accept-language
試著請求了一下
image
編碼
試了一下將獲取的接口直接請求,云之家并沒有對token的時間進(jìn)行限制,所以拿到請求參數(shù)后可以直接擼代碼了。
考慮了一下java代碼的繁重,最后決定用python來完成自動簽到的功能。
本來還用vue+axios寫了一個網(wǎng)頁版,但是后面發(fā)現(xiàn)axios總是會發(fā)送一個option請求導(dǎo)致返回錯誤,最后就沒有去實現(xiàn)了。
python主要用到了三個庫:
requests
json
apscheduler
apscheduler作為定時器實現(xiàn)自動簽到的功能
import requests
import json
from apscheduler.schedulers.blocking import BlockingScheduler
# 簽到
def sign_in():
url = " http://www.yunzhijia.com/attendance-signapi/signservice/sign/signIn?lng=&bssid=&configId=&networkId=&userId=&ssid=&lat="
headers = {
"user-agent": "",
"opentoken": "",
"authorization": "",
"accept-language":"",
}
response = requests.post(url, headers=headers)
print(response.text)
response_json = json.loads(response.text)
print(response_json['success'])
def job():
sched = BlockingScheduler()
sched.add_job(sign_in, 'cron', hour=18, minute=0)
sched.add_job(sign_in, 'cron', hour=9, minute=0)
sched.start()
if __name__ == '__main__':
job()
結(jié)尾
此代碼僅供學(xué)習(xí)用,我自己寫完這個代碼后也沒有用過,平時也是準(zhǔn)點上下班,希望大家不要隨意使用,如有侵權(quán)問題請聯(lián)系,隨時刪除。
總結(jié)
以上是生活随笔為你收集整理的python模拟手机app签到_Python实现云之家自动签到的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.#技术|Python实现钉钉课程自动
- 下一篇: Selenium实现网页自动签到的Pyt