版权声明:本文为博主原创文章,欢迎转载,请注明出处 https://blog.csdn.net/mouday/article/details/88915022
一个对 requests 的包装类,用法和requests 一模一样
主要解决两个问题
1、用户代理
2、中文编码
使用的都是requests 已经提供的方式,只是每次都写,不写又不行,感觉太low了
fake_requests.py
# -*- coding: utf-8 -*-
import requests
class FakeRequests(object):
"""
经常到处找请求头用户代理,这下一次解决完
"""
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0"
}
@classmethod
def request(cls, method, url, **kwargs):
kwargs.setdefault("headers", cls.headers)
response = requests.request(method, url, **kwargs)
response.encoding = response.apparent_encoding
return response
@classmethod
def get(cls, url, params=None, **kwargs):
kwargs.setdefault('allow_redirects', True)
return cls.request('get', url, params=params, **kwargs)
@classmethod
def post(cls, url, data=None, json=None, **kwargs):
return cls.request('post', url, data=data, json=json, **kwargs)
if __name__ == '__main__':
r = FakeRequests.get(url="https://httpbin.org/get")
print(r.text)