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

Я не могу найти, где я не прав, может кто-нибудь мне помочь, заранее спасибо.

0 ответов

Другие вопросы по тегам