登录以及获取信息测试

This commit is contained in:
YueL1331
2026-01-16 15:15:33 +08:00
commit ee89284a4c
2 changed files with 147 additions and 0 deletions

91
拿取内容测试.py Normal file
View File

@ -0,0 +1,91 @@
import requests
import json
import os
# ================= 配置区域 =================
base_url = "http://111.198.24.44:88/index.php"
# 1. 登录信息
login_payload = {
"module": "Users",
"action": "Authenticate",
"return_module": "Users",
"return_action": "Login",
"user_name": "你的用户名", # <--- 记得填
"user_password": "你的密码", # <--- 记得填
"login_theme": "newskin"
}
# 2. 抓取数据参数 (保留了你之前的筛选条件)
data_payload = {
"module": "SalesOrder",
"action": "SalesOrderAjax",
"file": "ListViewData",
"sorder": "",
"start": "1",
"pagesize": "100",
"actionId": "1768546984243",
"isFilter": "true",
"search[viewscope]": "all_to_me",
"search[viewname]": "324126",
"filter[Fields0]": "subject",
"filter[Condition0]": "cts",
"filter[Srch_value0]": "W25A",
"filter[type0]": "text",
"filter[dateCondition1]": "prevfy",
"filter[Fields1]": "duedate",
"filter[Condition1]": "btwa",
"filter[Srch_value1]": "2025-01-01,2025-12-31",
"filter[type1]": "date",
"filter[Fields2]": "subject",
"filter[Condition2]": "dcts",
"filter[Srch_value2]": "取消",
"filter[type2]": "text",
"filter[search_cnt]": "3",
"filter[matchtype]": "all"
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Referer": "http://111.198.24.44:88/index.php?module=SalesOrder&action=index"
}
# ================= 执行逻辑 =================
session = requests.Session()
try:
print("1. 正在登录...")
session.post(base_url, data=login_payload, headers=headers)
if 'PHPSESSID' in session.cookies:
print(" 登录成功Cookie已获取。")
else:
print(" ⚠️ 警告:可能登录失败 (未检测到PHPSESSID)。")
print("2. 正在获取数据并导出...")
resp = session.post(base_url, data=data_payload, headers=headers)
# === 关键修改:保存文件 ===
try:
# 尝试解析 JSON
json_data = resp.json()
# 定义文件名
filename = "result.json"
# 写入文件
# ensure_ascii=False 保证中文能正常显示,而不是显示成 \u53d6\u6d88
with open(filename, 'w', encoding='utf-8') as f:
json.dump(json_data, f, ensure_ascii=False, indent=4)
print(f"\n✅ 成功!数据已保存到当前目录下的: 【{filename}")
print(f" 文件路径: {os.path.abspath(filename)}")
except json.JSONDecodeError:
print("\n❌ 失败:服务器返回的不是 JSON 格式。")
print("可能是 HTML 页面,已保存为 'error_page.html' 供检查。")
with open("error_page.html", "w", encoding="utf-8") as f:
f.write(resp.text)
except Exception as e:
print(f"发生错误: {e}")