tornado asynchttpclient.fetch с использованием пост-возврата TypeError
Я использую Tornado AsynchHTTPClient (). Fetch(url, method="POST",body=body,headers=headers) с сопрограммой, но выдается ошибка:
Ошибка типа: ожидаемые байты, Unicode или None; получил тип "INT"
@gen.coroutine
def do_post(self, url, data):
self.checksum_builder()
headers = {
'AppKey': self.app_key,
'Nonce': self.nonce,
'CurTime': self.current_time,
'CheckSum': self.checksum,
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
}
postdata = data
http_client = AsyncHTTPClient()
print urllib.urlencode(postdata)
response = yield http_client.fetch(url, method='POST', headers=headers, body=urllib.urlencode(postdata))
print response.error
raise gen.Return(response)
@gen.coroutine
def create_nim_id(self, accid, name='', props='', icon='', token=''):
data = dict({
'accid':accid,
'name':name,
'props':props,
'icon':icon,
'token':token
})
response = yield self.do_post(self.create_nim_id_url, data)
raise gen.Return(response)
@gen.coroutine
def get(self, *args, **kwargs):
result = yield netease_im_api.NeteaseAPI().create_nim_id(accid='moonmoonbird1',icon='2',props='321',token='adsadsadsadsd', name='hello')
print(result)
[E 160504 20:32:39 web:1524] Неполученное исключение GET /card/8/76d27dfa11cf11e69d86a45e60dcaf9d (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:8000', method='GET', uri='/card/8/76d27dfa11cf11e69d86a45e60dcaf9d', версия ='HTTP/1.1', remote_ip='127.0.0.1', заголовки ={'Host': '127.0.0.1:8000', 'Cookie': '_xsrf=2|1d0561f1|3c717ed824bff16dc8f804b0a7c990ca|1462268491', 'Connection': 'close', 'User-Agent': 'Paw/2.2.9 (Macintosh; OS X/10.11.2) GCDHTTPRequest'}) Traceback (последний вызов был последним): Файл "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/web.py", строка 1445, в _execute result = файл результатов поиска "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py", строка 1008, в файле run value = future.result()" "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/concurrent.py", строка 232, в результате файл result_exc_info(self._exc_info) результата" /Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py ", строка 1014, в ходе выполнения yielded = self.gen.throw(*exc_info) файл "/Users/moonmoonbird/Documents/kuolie/kuolie/account/utils.py", строка 70, в оболочке ret = yield ret File "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py", строка 1008, в файле run value = future.result() file "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/concurrent.py", строка 232, в результате файл yield_exc_info(self._exc_info) в результате" /Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py ", строка 1014, в ходе выполнения файл yielded = self.gen.throw(*exc_info)"/Users/moonmoonbird/Documents/kuolie/kuolie/wall/handlers.py", строка 129, в результате get = yield netease_im_api.NeteaseAPI().create_nim_id(accid='moonmoonbird1',icon='2',props='321',token='adsadsadsadsd', name='hello') Файл "/Users/moonmoonbird/Documents/kuolie/lib/python2.7 /site-packages/tornado/gen.py ", строка 1008, в файле run value = future.result()" "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-package s / tornado / concurrent.py ", строка 232, в результате файл result_exc_info(self._exc_info) в результате" /Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py ", строка 1014 в ходе выполнения yielded = файл self.gen.throw (* exc_info) "/Users/moonmoonbird/Documents/kuolie/kuolie/neteaseim/netease_im_api.py", строка 84, в ответе create_nim_id = выведите self.do_post(self.create_nim_id_url, data) Файл "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py", строка 1008, в файле run value = future.result() "/ Users / moonmoonbird / Documents /kuolie/lib/python2.7/site-packages/tornado/concurrent.py ", строка 232, в результате файл yield_exc_info(self._exc_info)" /Users/moonmoonbird/Documents/kuolie/lib/python2.7/site- packages / tornado / gen.py ", строка 1014, в рабочем файле yielded = self.gen.throw(*exc_info)" /Users/moonmoonbird/Documents/kuolie/kuolie/neteaseim/netease_im_api.py ", строка 60, в do_post response = yield http_client.fetch(url, method='POST', headers=headers, body=urllib.urlencode(postdata)) Файл "/Users/moonmoonbird/Documents/kuolie/lib/python2.7/site-packages/tornado/gen.py", строка 1008, в файле run value = future.result() "/ Users / moonmoonbird / Documents / kuolie / lib / python2.7 / site-packages / tornado / concurrent.py ", строка 232, в результате файл yield_exc_info(self._exc_info)" ", строка 3, в yield_exc_info Ошибка типа: ожидаемые байты, Unicode или None; получил тип int
Я не могу найти, где я не прав, может кто-нибудь мне помочь, заранее спасибо.