我正在尝试将会话对象从一个类传递到另一个类。但是我不确定发生了什么。
class CreateSession:
def __init__(self, user, pwd, url="http://url_to_hit"):
self.url = url
self.user = user
self.pwd = pwd
def get_session(self):
sess = requests.Session()
r = sess.get(self.url + "/", auth=(self.user, self.pwd))
print(r.content)
return sess
class TestGet(CreateSession):
def get_response(self):
s = self.get_session()
print(s)
data = s.get(self.url + '/some-get')
print(data.status_code)
print(data)
if __name__ == "__main__":
TestGet(user='user', pwd='pwd').get_response()
我在get_response()中得到401。无法理解这一点。
答案 0 :(得分:0)
什么是401?
您收到的回复表示您未经授权访问资源。
使用会话是为了在请求中保留标头和其他先决条件,为什么您每次都创建会话而不是将其存储在变量中?
按原样,该会话应该正常工作,唯一的问题是您正试图调用您无权访问的资源。 -您在初始化时都没有传递HttpResponse
参数。
如何有效使用POST
的示例:
def myView(request,pk):
if request.method == 'POST':
print("DONE")
return HttpResponse(content='<script>console.log("SOMETHING IS HAPPENING!");</script>', content_type='text/javascript; charset=utf-8')
else:
print('WRONG REQUEST')
return HttpResponse("WRONG REQUEST")