Files
qinglong/脚本库/web版/抓包/utils/2026-05-23_utils_bce11cad.py
2026-05-24 03:53:42 +00:00

80 lines
2.2 KiB
Python
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Source: https://github.com/CN-Grace/QinglongScripts/blob/main/utils.py
# Raw: https://raw.githubusercontent.com/CN-Grace/QinglongScripts/main/utils.py
# Repo: CN-Grace/QinglongScripts
# Path: utils.py
# UploadedAt: 2026-05-23T15:38:06Z
# SHA256: bce11cad3d194cbf6779b4f13ce88d5838904d43fd875c9ada09b880c46d6f39
# Category: web版/抓包
# Evidence: web/H5关键词 + cookie/token/header
#!/usr/bin/env python3
"""QinglongScripts 公共工具模块"""
import time
from datetime import datetime, timedelta, timezone
from typing import Optional
import requests
# 北京时间时区 (UTC+8)
_TZ_BEIJING = timezone(timedelta(hours=8))
# ---------- 时间工具 ----------
def beijing_now() -> datetime:
"""返回当前北京时间 datetime"""
return datetime.now(_TZ_BEIJING)
def beijing_time_str(fmt: str = "%Y-%m-%d %H:%M:%S") -> str:
"""返回当前北京时间字符串"""
return beijing_now().strftime(fmt)
# ---------- 日志函数 ----------
def _log(emoji: str, msg: str):
print(f"[{beijing_time_str()}] {emoji} {msg}")
def log_info(msg: str):
_log("", msg)
def log_success(msg: str):
_log("", msg)
def log_warning(msg: str):
_log("⚠️", msg)
def log_error(msg: str):
_log("", msg)
# ---------- HTTP 工具 ----------
def create_session(
cookie: Optional[str] = None,
user_agent: Optional[str] = None,
extra_headers: Optional[dict] = None,
) -> requests.Session:
"""创建带可选 Cookie 和自定义 Headers 的 requests.Session"""
session = requests.Session()
session.headers.update({
"User-Agent": user_agent or (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36"
),
"Accept": "application/json, text/plain, */*",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Connection": "keep-alive",
})
if extra_headers:
session.headers.update(extra_headers)
if cookie:
cookie_dict = {
item.split("=")[0]: item.split("=")[1]
for item in cookie.split("; ") if "=" in item
}
requests.utils.add_dict_to_cookiejar(session.cookies, cookie_dict)
return session