如何使用请求发送带有unicode名称的文件

时间:2015-04-11 03:08:29

标签: python rest python-3.x unicode slack-api

我正在尝试使用Requests库在Mac上使用Python 3.4对Slack进行POST调用(OS X 10.10),如下所示:

url = 'https://slack.com/api/files.upload'
with open('File β.txt', 'rb') as file:
    r = requests.post(url, files={'file': file}, params={
        'token': api_token,
        'channels': channel
    })

然后我从Slack得到一个“no_file_data”回复。如果我使用ASCII“B”字符而不是unicode beta,那么它可以正常工作。

我的文件是UTF-8编码的,我在hashbang下面有这一行:

# -*- coding: UTF-8 -*-

这是Slack的问题,还是我在Python中做错了什么?

1 个答案:

答案 0 :(得分:1)

这是Slack的Web API实施的一个问题,它不支持RFC 5987bis。请求小组的一些有用成员在GitHub issue thread上得到了这个结论的帮助。

修复错误后,我会更新此答案。