import subprocess
_bak_Popen = subprocess.Popen
def _Popen (*a, **kw):
kw[ return _bak_Popen (*a, **kw)
subprocess.Popen = _Popen
import execjs
import requests
import sys
from lxml import etree
from urllib.parse import urljoin
session = requests.Session ()
with open ( env_code = f.read ()
class Technology:
def __init__ (self):
# 定义请求头
self.headers = {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
"cache-control": "no-cache",
"pragma": "no-cache",
"priority": "u=0, i",
"referer": "https://d.gd.189.cn/crmweb/sysmgr/login.action",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0"
}
# 定义请求地址
self.url = "https://d.gd.189.cn/crmweb/sysmgr/login.action"
self.cookies = dict ()
def get_cookie (self):
# 第一次请求
response = session.get (self.url, headers=self.headers, cookies=self.cookies)
self.cookies[ html = etree.HTML (response.text)
# 获取 content 参数
content = html.xpath ( # 获取 自执行方法 文件代码
eval_url = urljoin (self.url, html.xpath ( eval_code = session.get (eval_url, headers=self.headers).content.decode ( # 获取ts代码
ts_code = html.xpath ( # 编译JS代码
self.js = execjs.compile ( with open ( f.write ( # 生成cookie参数
self.cookies[ def main (self,method,url):
self.get_cookie ()
return {
}
if __name__ == if len (sys.argv) > 2:
method = str (sys.argv[1])
else:method = "GET"
if len (sys.argv) > 2:
url = str (sys.argv[2])
else:url = "https://d.gd.189.cn/crmweb/sysmgr/login.action"
spider = Technology ()
res = spider.main (method,url)
print (res)