Python - 在类方法中传递请求会话对象

时间:2015-03-11 02:41:10

标签: python python-requests

我想在我自己的类的类方法中传播一个请求会话对象,以便重用同一个会话来通过我的类的对象发出请求。

这是我目前的做法:

import requests

class MyClass:
    def __init__(self):
        self.s = requests.Session()
        headers = {'key': 'value'}

    def method1(self):
        s = self.s
        s.get(url, headers=self.headers)
        s.post(url, headers=self.headers)
                     .
                     .
        return something

    def method2(self, something):
        s = self.s
        something = something
        s.get(url, headers=self.headers)
        s.post(url, headers=self.headers)
                     .
                     .

if __name__ == '__main__':
    myclass = MyClass()
    something = myclass.method1()
    myclass.method2(something)

你认为这个足够好吗?有没有更好的方法呢?谢谢。

1 个答案:

答案 0 :(得分:0)

s = requests.Session()更改为self.s = s = requests.Session(),将Session设置为属性和本地变量,以防您需要在__init__中再次使用它。