修复requests使用时默认使用环境系统代理的问题

This commit is contained in:
JrD
2020-09-07 15:11:06 +08:00
parent 3407a84b8d
commit c2985352b1
4 changed files with 43 additions and 28 deletions
+32 -24
View File
@@ -75,8 +75,10 @@ class Module(object):
:param kwargs: other params :param kwargs: other params
:return: response object :return: response object
""" """
session = requests.Session()
session.trust_env = False
try: try:
resp = requests.head(url, resp = session.head(url,
params=params, params=params,
cookies=self.cookie, cookies=self.cookie,
headers=self.header, headers=self.header,
@@ -104,18 +106,20 @@ class Module(object):
:param kwargs: other params :param kwargs: other params
:return: response object :return: response object
""" """
session = requests.Session()
session.trust_env = False
level = 'ERROR' level = 'ERROR'
if ignore: if ignore:
level = 'DEBUG' level = 'DEBUG'
try: try:
resp = requests.get(url, resp = session.get(url,
params=params, params=params,
cookies=self.cookie, cookies=self.cookie,
headers=self.header, headers=self.header,
proxies=self.proxy, proxies=self.proxy,
timeout=self.timeout, timeout=self.timeout,
verify=self.verify, verify=self.verify,
**kwargs) **kwargs)
except Exception as e: except Exception as e:
logger.log(level, e.args) logger.log(level, e.args)
return None return None
@@ -135,15 +139,17 @@ class Module(object):
:param kwargs: other params :param kwargs: other params
:return: response object :return: response object
""" """
session = requests.Session()
session.trust_env = False
try: try:
resp = requests.post(url, resp = session.post(url,
data=data, data=data,
cookies=self.cookie, cookies=self.cookie,
headers=self.header, headers=self.header,
proxies=self.proxy, proxies=self.proxy,
timeout=self.timeout, timeout=self.timeout,
verify=self.verify, verify=self.verify,
**kwargs) **kwargs)
except Exception as e: except Exception as e:
logger.log('ERROR', e.args) logger.log('ERROR', e.args)
return None return None
@@ -162,14 +168,16 @@ class Module(object):
:param kwargs: other params :param kwargs: other params
:return: requests's response object :return: requests's response object
""" """
session = requests.Session()
session.trust_env = False
try: try:
resp = requests.delete(url, resp = session.delete(url,
cookies=self.cookie, cookies=self.cookie,
headers=self.header, headers=self.header,
proxies=self.proxy, proxies=self.proxy,
timeout=self.timeout, timeout=self.timeout,
verify=self.verify, verify=self.verify,
**kwargs) **kwargs)
except Exception as e: except Exception as e:
logger.log('ERROR', e.args) logger.log('ERROR', e.args)
return None return None
+1 -1
View File
@@ -2,7 +2,6 @@ import json
from threading import Thread from threading import Thread
from queue import Queue from queue import Queue
import tqdm import tqdm
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
@@ -161,6 +160,7 @@ def get_session():
verify = settings.request_ssl_verify verify = settings.request_ssl_verify
redirect_limit = settings.request_redirect_limit redirect_limit = settings.request_redirect_limit
session = requests.Session() session = requests.Session()
session.trust_env = False
session.headers = header session.headers = header
session.verify = verify session.verify = verify
session.max_redirects = redirect_limit session.max_redirects = redirect_limit
+9 -3
View File
@@ -521,8 +521,10 @@ def check_net():
'http://www.apple.com', 'http://microsoft.com'] 'http://www.apple.com', 'http://microsoft.com']
url = random.choice(urls) url = random.choice(urls)
logger.log('INFOR', f'Trying to access {url}') logger.log('INFOR', f'Trying to access {url}')
session = requests.Session()
session.trust_env = False
try: try:
rsp = requests.get(url) rsp = session.get(url, proxies=get_proxy())
except Exception as e: except Exception as e:
logger.log('ERROR', e.args) logger.log('ERROR', e.args)
logger.log('ALERT', 'Can not access Internet, retrying') logger.log('ALERT', 'Can not access Internet, retrying')
@@ -565,8 +567,10 @@ def check_version(local):
proxy = get_proxy() proxy = get_proxy()
timeout = settings.request_timeout_second timeout = settings.request_timeout_second
verify = settings.request_ssl_verify verify = settings.request_ssl_verify
session = requests.Session()
session.trust_env = False
try: try:
resp = requests.get(url=api, headers=header, proxies=proxy, resp = session.get(url=api, headers=header, proxies=proxy,
timeout=timeout, verify=verify) timeout=timeout, verify=verify)
resp_json = resp.json() resp_json = resp.json()
latest = resp_json['tag_name'] latest = resp_json['tag_name']
@@ -705,8 +709,10 @@ def get_url_resp(url):
logger.log('INFOR', f'Attempting to request {url}') logger.log('INFOR', f'Attempting to request {url}')
timeout = settings.request_timeout_second timeout = settings.request_timeout_second
verify = settings.request_ssl_verify verify = settings.request_ssl_verify
session = requests.Session()
session.trust_env = False
try: try:
resp = requests.get(url, params=None, timeout=timeout, verify=verify) resp = session.get(url, params=None, timeout=timeout, verify=verify)
except Exception as e: except Exception as e:
logger.log('ALERT', f'Error request {url}') logger.log('ALERT', f'Error request {url}')
logger.log('DEBUG', e.args) logger.log('DEBUG', e.args)
+1
View File
@@ -12,6 +12,7 @@ class GithubAPI(Search):
self.addr = 'https://api.github.com/search/code' self.addr = 'https://api.github.com/search/code'
self.domain = domain self.domain = domain
self.session = requests.Session() self.session = requests.Session()
self.session.trust_env = False
self.auth_url = 'https://api.github.com' self.auth_url = 'https://api.github.com'
self.token = settings.github_api_token self.token = settings.github_api_token