MCPcopy
hub / github.com/mvdctop/Movie_Data_Capture / get_html_session

Function get_html_session

ADC_function.py:120–157  ·  view source on GitHub ↗
(url: str = None, cookies: dict = None, ua: str = None, return_type: str = None,
                     encoding: str = None)

Source from the content-addressed store, hash-verified

118
119# with keep-alive feature
120def get_html_session(url: str = None, cookies: dict = None, ua: str = None, return_type: str = None,
121 encoding: str = None):
122 config_proxy = config.getInstance().proxy()
123 session = requests.Session()
124 if isinstance(cookies, dict) and len(cookies):
125 requests.utils.add_dict_to_cookiejar(session.cookies, cookies)
126 retries = Retry(total=config_proxy.retry, connect=config_proxy.retry, backoff_factor=1,
127 status_forcelist=[429, 500, 502, 503, 504])
128 session.mount("https://", TimeoutHTTPAdapter(max_retries=retries, timeout=config_proxy.timeout))
129 session.mount("http://", TimeoutHTTPAdapter(max_retries=retries, timeout=config_proxy.timeout))
130 if config_proxy.enable:
131 session.verify = config.getInstance().cacert_file()
132 session.proxies = config_proxy.proxies()
133 headers = {"User-Agent": ua or G_USER_AGENT}
134 session.headers = headers
135 try:
136 if isinstance(url, str) and len(url):
137 result = session.get(str(url))
138 else: # 空url参数直接返回可重用session对象,无需设置return_type
139 return session
140 if not result.ok:
141 return None
142 if return_type == "object":
143 return result
144 elif return_type == "content":
145 return result.content
146 elif return_type == "session":
147 return result, session
148 else:
149 result.encoding = encoding or "utf-8"
150 return result.text
151 except requests.exceptions.ProxyError:
152 print("[-]get_html_session() Proxy error! Please check your Proxy")
153 except requests.exceptions.RequestException:
154 pass
155 except Exception as e:
156 print(f"[-]get_html_session() failed. {e}")
157 return None
158
159
160def get_html_by_browser(url: str = None, cookies: dict = None, ua: str = None, return_type: str = None,

Callers 1

ADC_function.pyFile · 0.85

Calls 4

proxyMethod · 0.80
cacert_fileMethod · 0.80
proxiesMethod · 0.80
TimeoutHTTPAdapterClass · 0.70

Tested by

no test coverage detected