我不能把我的大脑集中在这个问题上:
当我在IDE(pycharm)中或通过命令行运行这段代码时,我得到一个204HTTP响应,但没有内容。当我在调试器中设置断点以查看正在发生的情况时,代码执行良好,r.content和{}将使用请求的结果填充。r.status_code在调试器中运行时也有一个值200。在
代码:r = requests.post(self.dispatchurl, verify=False, auth=HTTPBasicAuth(self.user, self.passwd))
print 'first request to get sid: status {}'.format(r.status_code)
json_data = json.loads(r.text)
self.sid = json_data['sid']
print 'the sid is: {}'.format(self.sid)
self.getresulturl = '{}/services/search/jobs/{}/results{}'.format(self.url, self.sid, self.outputmode)
x = requests.get(self.getresulturl, verify=False, auth=HTTPBasicAuth(self.user, self.passwd))
print 'second request to get the data: status {}'.format(x.status_code)
print 'content: {}'.format(x.text)
通过调试器运行时的输出:
^{pr2}$
当我在没有调试器的情况下正常执行代码时,在第二个响应上得到一个204。在
输出:first request to get sid: status 201
the sid is: sanitizedatahere
second request to get the data: status 204
content:
Process finished with exit code 0
我猜这和调试器减慢请求速度和允许服务器用数据响应有关?这似乎是一种比赛状态。我从来没有遇到过这个问题。在
我做错什么了吗?我不知所措。感谢您的光临。在