使用python请求上载文件

使用python请求上载文件,python,python-requests,Python,Python Requests,我在尝试将文件上载到API时遇到问题。在swagger UI中,我手动上传excel文件没有问题。当我尝试使用请求上传tu时,我收到一个415错误,文件格式无效。以下是该post请求的简单代码: headers = { 'Authorization':"bearer "+ CLIENT.token, 'Content-Type': 'form-data' } files = [('file', open(path_to_file, 'r

我在尝试将文件上载到API时遇到问题。在swagger UI中,我手动上传excel文件没有问题。当我尝试使用请求上传tu时,我收到一个415错误,文件格式无效。以下是该post请求的简单代码:

 headers = {
        'Authorization':"bearer "+ CLIENT.token,
        'Content-Type': 'form-data' 
           }
 files = [('file', open(path_to_file, 'rb'))]

 response = requests.post(api_url,  
    files=files,
    headers=headers)

我的回复状态代码是415,我不知道发生了什么。当我使用这个招摇过市的工具时,我检查了NewWork浏览器,在请求中看到了这个标题

Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywkrdGd3ROh0GkfsW


但是,我不知道术语边界是什么,如果我手动将此标头传递到请求中,API将抛出一个500。

服务器会说您的内容类型错误。如果要上载.xls文件,请使用:

'Content-Type': 'application/vnd.ms-excel'
'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
如果要上载.xlsx文件,请使用:

'Content-Type': 'application/vnd.ms-excel'
'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

我试着这么做,但即使这样我还是得到了415status@Andrex尝试应用程序/八位字节流什么是真正的url?你有这个API的文档吗?也许它需要更多的东西。你可以寄到http://httpbin.org/post 在大摇大摆的用户界面和请求中,您可以获得您发送的信息,然后您可以比较这些信息。