You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
import requests
|
|
from tools.retry import retry
|
|
from DrissionPage import SessionPage
|
|
|
|
|
|
class RequestsInt(object):
|
|
def __init__(self, url):
|
|
self.ref = url
|
|
self.session = requests.Session()
|
|
|
|
def get_headers(self):
|
|
return {
|
|
'referer': self.ref,
|
|
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36'
|
|
}
|
|
|
|
@retry('get请求', 3)
|
|
def get(self, url, params=None, headers=None, timeout=5, **kwargs):
|
|
if headers is None:
|
|
headers = self.get_headers()
|
|
r = self.session.get(url=url, params=params, headers=headers, timeout=timeout, **kwargs)
|
|
r.encoding = 'utf-8'
|
|
return r
|
|
|
|
@retry('post请求', 3)
|
|
def post(self, url, params=None, headers=None, timeout=5, **kwargs):
|
|
if headers is None:
|
|
headers = self.get_headers()
|
|
r = self.session.post(url=url, params=params, headers=headers, timeout=timeout, **kwargs)
|
|
r.encoding = 'utf-8'
|
|
|
|
return r
|
|
|
|
def get_page(self, url):
|
|
page = SessionPage()
|
|
# 访问网页
|
|
page.get(url)
|
|
page.close()
|
|
return page.html
|