0
点赞
收藏
分享

微信扫一扫

Python编程:FakeRequests一个对 requests 的包装类


一个对 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)



举报

相关推荐

0 条评论