最近弄了弄微信机器人,发现在中文文件上传上有问题。

环境是:python3.6

对于python3,需要改一个文件:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/fields.py(mac上的路径)

fields.py的46行:

1
2
3
value = email.utils.encode_rfc2231(value, 'utf-8')
# value = '%s*=%s' % (name, value)
value = '%s="%s"' % (name, value.encode('utf-8'))

参考:https://gist.github.com/littlecodersh/e93532d5e7ddf0ec56c336499165c4dc