我需要模拟用户登录系统,并在登录后访问系统内部功能。这在很多没有提供sdk的系统是有帮助的。
import requests
class SystemClient:
def __init__(self, username, password):
self.username = username
self.password = password
self.token = None
# 模拟登录并获取 token
def login(self):
login_url = "https://example.com/login" # 登录页面的 URL
payload = {
'username': self.username,
'password': self.password
}
response = requests.post(login_url, data=payload)
if response.status_code == 200:
# 假设登录成功后返回的 token 存在于响应的 JSON 数据中
self.token = response.json().get('token')
print("登录成功")
else:
print("登录失败")
# 使用 token 访问系统内部 URL,并获取数据
def access_internal_url(self, url):
headers = {'Authorization': 'Bearer ' + self.token} # 使用 Bearer Token 形式
response = requests.get(url, headers=headers)
if response.status_code == 200:
# 处理响应数据
print("访问成功,响应数据:", response.text)
else:
print("访问失败")
# 将数据通过 URL 存入系统
def save_data_to_system(self, data, save_url):
headers = {
'Authorization': 'Bearer ' + self.token, # 使用 Bearer Token 形式
'Content-Type': 'application/json' # 假设发送的数据为 JSON 格式
}
response = requests.post(save_url, headers=headers, json=data)
if response.status_code == 200:
print("数据存入成功")
else:
print("数据存入失败")
# 示例调用
if __name__ == "__main__":
# 假设登录凭证和系统内部 URL
username = "your_username"
password = "your_password"
internal_url = "https://example.com/internal_url" # 系统内部 URL
save_url = "https://example.com/save_data" # 存入数据的 URL
# 创建系统客户端实例
client = SystemClient(username, password)
# 模拟登录并获取 token
client.login()
# 使用 token 访问系统内部 URL
client.access_internal_url(internal_url)
# 假设要存入的数据
data_to_save = {'key': 'value'}
# 将数据通过 URL 存入系统
client.save_data_to_system(data_to_save, save_url)