60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
import requests
|
||
|
||
def sign_in(headers, cookies):
|
||
data = {
|
||
'data': {
|
||
'type': 'users',
|
||
'attributes': {
|
||
'canCheckin': True,
|
||
'totalContinuousCheckIn': 2
|
||
},
|
||
'id': '1684'
|
||
}
|
||
}
|
||
|
||
url = 'https://invites.fun/api/users/1684'
|
||
|
||
response = requests.post(url, json=data, headers=headers, cookies=cookies)
|
||
|
||
if response.status_code == 200:
|
||
print('签到成功!')
|
||
elif response.status_code == 401: # Unauthorized, indicating expired cookies
|
||
print('Cookies已过期,请重新输入。')
|
||
new_cookies = input('请输入新的Cookies:')
|
||
new_csrf_token = input('请输入新的X-Csrf-Token:')
|
||
cookies.update({'flarum_remember': new_cookies})
|
||
headers.update({'X-Csrf-Token': new_csrf_token})
|
||
sign_in(headers, cookies)
|
||
else:
|
||
print('签到失败。错误码:', response.status_code)
|
||
|
||
def get_cookies_and_token():
|
||
url = 'https://invites.fun/'
|
||
|
||
response = requests.get(url)
|
||
|
||
cookies = response.cookies.get_dict()
|
||
flarum_session = cookies.get('flarum_session')
|
||
|
||
x_csrf_token = response.headers.get('X-Csrf-Token')
|
||
|
||
return flarum_session, x_csrf_token
|
||
|
||
# 获取 cookies 和 X-Csrf-Token
|
||
flarum_session, x_csrf_token = get_cookies_and_token()
|
||
|
||
# 设置 cookies 和 headers
|
||
cookies = {
|
||
'flarum_remember': 'ZPojFMvwsmz8fbboYNtIreQ1P8l4tXC8dLmxrJF5',
|
||
'flarum_session': flarum_session
|
||
}
|
||
|
||
headers = {
|
||
'Content-Type': 'application/vnd.api+json',
|
||
'X-Csrf-Token': x_csrf_token,
|
||
'X-Http-Method-Override': 'PATCH'
|
||
}
|
||
|
||
# 执行签到请求
|
||
sign_in(headers, cookies)
|