侧边栏壁纸
博主头像
波哥

大龄程序猿&自由职业者&副业达人
爱好:敲代码、搞副业
12+年开发经验,热衷自动化网络推广!

  • 累计撰写 1,810 篇文章
  • 累计创建 77 个标签
  • 累计收到 13 条评论

目 录CONTENT

文章目录

Python requests封装

波哥
2022-10-11 / 0 评论 / 0 点赞 / 48 阅读 / 469 字

Python requests封装

" "

rquests类的封装:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :RequestsClient.py
# @Time      :2022/10/2 11:00
# @Author    :bigt


import requests


class RequestsClient:
    def __init__(self):
        self.header = {
            'Accept': 'ext/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.8',
            'Connection': 'keep-alive',
            'Content-Type': 'application/json; charset=utf-8',
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'
        }

        """

        session管理器
        requests.session(): 维持会话,跨请求的时候保存参数
        """
        # 实例化session
        self.session = requests.session()

    def request_client(self, method, url, params=None, data=None, json=None, headers=None, **kwargs):
        """

        :param method: 请求方式
        :param url: 请求地址
        :param params: 字典或bytes,作为参数增加到url中
        :param data: data类型传参,字典、字节序列或文件对象,作为Request的内容
        :param json: json传参,作为Request的内容
        :param headers: 请求头,字典
        :param kwargs: 若还有其他的参数,使用可变参数字典形式进行传递
        :return:
        """

        # 对异常进行捕获
        try:
            """

            封装request请求,将请求方法、请求地址,请求参数、请求头等信息入参。
            注 :verify: True/False,默认为True,认证SSL证书开关;cert: 本地SSL证书。如果不需要ssl认证,可将这两个入参去掉

            re_data = self.session.request(method, url, params=params, data=data, json=json, headers=headers,
                                           cert=(client_crt, client_key), verify=False, **kwargs)
            """

            re_data = self.session.request(method, url, params=params, data=data, json=json, headers=self.header,
                                           verify=False, **kwargs)
        # 异常处理 报错显示具体信息
        except Exception as e:
            # 打印异常
            print("请求失败:{0}".format(e))
        # 返回响应结果
        return re_data


if __name__ == '__main__':
    # 请求地址
    url = 'https://www.bigtspace.com/'
    # 请求参数
    reqParam = {}
    # 实例化 RequestsClient()
    re = RequestsClient()
    # 调用request_client,并将参数传过去
    request_data = re.request_client("get", url, json=reqParam)
    # 打印响应结果
    print(request_data.text)
0

评论区