-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathdemo.py
52 lines (42 loc) · 1.43 KB
/
demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# _*_ coding: utf-8 _*_
# @Date: 6:03 下午
# @File: demo.py
# @Author: liyf
import execjs
import requests
from loguru import logger
def get_js_pwd(password):
with open('demo.js', 'r') as f:
js_str = f.readlines()
ctx = execjs.compile(''.join(js_str))
return ctx.call('get_password', password)
def get_json_data(user, pwd):
headers = {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Referer': 'https://passport.fang.com/', # 这个请求头不能少,否则报错
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
}
data = {
'uid': user,
'pwd': get_js_pwd(pwd),
'Service': 'soufun-passport-web',
'AutoLogin': '1',
}
response = requests.post('https://passport.fang.com/login.api', headers=headers, data=data)
return response.json()
def main():
user = 'username'
pwd = 'password'
results = get_json_data(user, pwd)
print(results)
msg = results['Message']
tip = results['Tip']
if msg == 'Success':
logger.info(
f'\n账号信息\nUserID: {results["UserID"]}\nUserName: {results["UserName"]}n\nCurrentIP: {results["Ip"]}')
else:
logger.info(f'Account Login Status: {msg}\t{tip}')
if __name__ == '__main__':
main()