POST请求引发AssertionError

时间:2016-03-01 09:43:13

标签: python asynchronous tornado future

我正在对API发出POST请求,代码如下所示:

@gen.coroutine
def call():
    ...
    response = yield AsyncHTTPClient().fetch(
        HTTPRequest(
            url='https://api.mywebsite.com/v1/users',
            headers=headers,
            method='POST',
            body=json.dumps(body),
            validate_cert=False
        )
    )
    print response, response.body

if __name__ == "__main__":
    tornado.ioloop.IOLoop.current().run_sync(call)

服务器首次响应201 Created,第二次响应200 OK。

但是对于那段代码我第一次得到这个错误。第二次工作

Traceback (most recent call last):
  File "t.py", line 49, in <module>
    tornado.ioloop.IOLoop.current().run_sync(call)
  File "/usr/lib/python2.7/dist-packages/tornado/ioloop.py", line 389, in run_sync
    return future_cell[0].result()
  File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 129, in result
    raise_exc_info(self.__exc_info)
  File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 302, in wrapped
    ret = fn(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 574, in inner
    self.set_result(key, result)
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 500, in set_result
    self.run()
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 529, in run
    yielded = self.gen.throw(*exc_info)
  File "t.py", line 43, in call
    validate_cert=False
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 520, in run
    next = self.yield_point.get_result()
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 409, in get_result
    return self.runner.pop_result(self.key).result()
  File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 131, in result
    return super(TracebackFuture, self).result(timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/concurrent/futures/_base.py", line 401, in result
    return self.__get_result()
  File "/usr/lib/python2.7/dist-packages/concurrent/futures/_base.py", line 360, in __get_result
    raise self._exception
AssertionError

0 个答案:

没有答案