Add socks proxy support

This commit is contained in:
Mathhew
2020-06-19 15:51:09 +08:00
parent 562f030c3c
commit 43d0250614
5 changed files with 26 additions and 15 deletions

View File

@@ -24,9 +24,14 @@ def getXpathSingle(htmlcode,xpath):
return result1
def get_proxy(proxy: str) -> dict:
def get_proxy(proxy: str, proxytype: str = None) -> dict:
''' 获得代理参数默认http代理
'''
if proxy:
proxies = {"http": "http://" + proxy, "https": "https://" + proxy}
if proxytype.startswith("socks"):
proxies = {"http": "socks5://" + proxy, "https": "socks5://" + proxy}
else:
proxies = {"http": "http://" + proxy, "https": "https://" + proxy}
else:
proxies = {}
@@ -35,8 +40,8 @@ def get_proxy(proxy: str) -> dict:
# 网页请求核心
def get_html(url, cookies: dict = None, ua: str = None, return_type: str = None):
proxy, timeout, retry_count = config.Config().proxy()
proxies = get_proxy(proxy)
proxy, timeout, retry_count, proxytype = config.Config().proxy()
proxies = get_proxy(proxy, proxytype)
if ua is None:
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36"} # noqa
@@ -59,14 +64,16 @@ def get_html(url, cookies: dict = None, ua: str = None, return_type: str = None)
except requests.exceptions.ProxyError:
print("[-]Connect retry {}/{}".format(i + 1, retry_count))
except requests.exceptions.ConnectionError:
print("[-]Connect retry {}/{}".format(i + 1, retry_count))
print('[-]Connect Failed! Please check your Proxy or Network!')
input("Press ENTER to exit!")
exit()
def post_html(url: str, query: dict) -> requests.Response:
proxy, timeout, retry_count = config.Config().proxy()
proxies = get_proxy(proxy)
proxy, timeout, retry_count, proxytype = config.Config().proxy()
proxies = get_proxy(proxy, proxytype)
for i in range(retry_count):
try:
@@ -80,8 +87,8 @@ def post_html(url: str, query: dict) -> requests.Response:
def get_javlib_cookie() -> [dict, str]:
proxy, timeout, retry_count = config.Config().proxy()
proxies = get_proxy(proxy)
proxy, timeout, retry_count, proxytype = config.Config().proxy()
proxies = get_proxy(proxy, proxytype)
raw_cookie = {}
user_agent = ""