python 做的request模組封裝工具類

2021-10-17 14:43:34 字數 2903 閱讀 7639

記錄下,避免以後用到。

"""request 請求封裝 預設使用json格式

"""method = method.upper()

params_type = params_type.upper()

if isinstance(data, str):

try:

data = json.loads(data)

except exception:

data = eval(data)

if 'get' == method:

response = self.session.request(method=method, url=url, params=data, **kwargs)

elif 'post' == method:

if params_type == 'form': # 傳送表單資料,使用data引數傳遞

response = self.session.request(method=method, url=url, data=data, **kwargs)

response = self.session.request(method=method, url=url, json=data, **kwargs)

else: # 如果介面需要傳遞其他型別的資料比如 上傳檔案,呼叫下面的請求方法

response = self.session.request(method=method, url=url, **kwargs)

elif 'put' == method:

if params_type == 'form': # 傳送表單資料,使用data引數傳遞

response = self.session.request(method=method, url=url, data=data, **kwargs)

response = self.session.request(method=method, url=url, json=data, **kwargs)

else: # 如果介面需要傳遞其他型別的資料比如 上傳檔案,呼叫下面的請求方法

response = self.session.request(method=method, url=url, **kwargs)

elif 'delete' == method:

if params_type == 'form': # 傳送表單資料,使用data引數傳遞

response = self.session.request(method=method, url=url, data=data, **kwargs)

response = self.session.request(method=method, url=url, json=data, **kwargs)

else: # 如果介面需要傳遞其他型別的資料比如 上傳檔案,呼叫下面的請求方法

response = self.session.request(method=method, url=url, **kwargs)

# 如果請求方式非 get 和post 會報錯,當然你也可以繼續新增其他的請求方法

else:

raise valueerror('request method "{}" error ! please check'.format(method))

return response

def __call__(self, method, url, data=none, params_type='json', **kwargs):

return self.send_request(method, url,

data=data,

params_type=params_type,

**kwargs)

def close_session(self):

self.session.close()

try:

del self.session.cookies['jsessionid']

except:

pass

def __del__(self):

self.close_session()

def get_content(response=none):

if response:

return response.data if response.code == 200 else none

return none具體參考哪位的**,忘記了,見諒。

Python爬蟲 Request模組

文章說明了request模組的意義,且強調了request模組使用更加方便。接下來介紹幾種常用的request操作,並且會在後續補充說明一些特定用法。匯入檔案 import requests一 請求 右邊為請求語句,返回值為response回應 r requests.get r requests.p...

Python的Request請求跳過認證及禁用警告

1.跳過認證 在使用python做測試測試的時候,因為認證報錯,可以新增 verify false跳過認證,如下 2.禁用警告 此時,執行不受影響,請求會成功,但結果會報錯 不影響執行,但感覺不舒服,此時在頂部匯入 from requests.packages.urllib3.exceptions ...

python爬蟲利器 request庫

request庫比urllib2庫更為高階,因為其功能更強大,更易於使用。使用該庫可以十分方便我們的抓取。基本請求 r requests.get r requests.post r requests.put r requests.delete r requests.head r requests.o...