我想通过 http Telegram API 发送文件并尝试以下代码:
def send_media(self, chat_id, doc):
method = 'sendDocument'
params = {'chat_id': chat_id, 'document': doc}
resp = requests.post(self.api_url + method, params)
return resp
document = open('table.csv', 'rb')
doc = InputFile(document)
bot.send_media(last_chat_id, doc).json()
document.close()
并根据要求出现这样的错误:
{'ok': False, 'error_code': 400, 'description': 'Bad Request: wrong URL host'}
我应该怎么做才能发送文件?
最佳答案
这里的问题是requests库的错误使用,如果您发送multipart/form-data
和文件,您应该使用参数files
.
例如
requests.post(self.api_url + method, data={'chat_id': chat_id}, files={'document': document})
文档链接 - http://docs.python-requests.org/en/master/user/quickstart/#post-a-multipart-encoded-file
关于python - 如何通过 HTTP 向 Telegram 机器人发送文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54809400/