我想在我自己的类的类方法中传播一个请求会话对象,以便重用同一个会话来通过我的类的对象发出请求。
这是我目前的做法:
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)
你认为这个足够好吗?有没有更好的方法呢?谢谢。
答案 0 :(得分:0)
将s = requests.Session()
更改为self.s = s = requests.Session()
,将Session
设置为属性和本地变量,以防您需要在__init__
中再次使用它。