我在python 3中使用www.example.com方法上传CSV文件时遇到问题requests.post。
from requests.auth import HTTPBasicAuth
import csv
import requests
user='myuser'
pw='mypass'
advertiserid='10550'
campaignid='12394'
url='http://example.example.com/api/edc/upload/'+advertiserid+'/'+campaignid+'/'+'?encoding=utf-8&fieldsep=%3B&decimalsep=.&date=DD%2FMM%2FYYYY&info=1&process=1'
csv="myfile.csv"
with open(csv, 'r') as f:
r = requests.post(url, files={csv: f})
print(r)
输出为“响应[502]”
知道问题出在哪里吗?
非常感谢!
4条答案
按热度按时间xmd2e60i1#
您可以在此处参考Requests库的文档:多部分编码文件后
将请求行更改为:
bvjveswy2#
尝试以二进制模式打开它?并使用特定的“text/csv”MIME类型?
如果还是不行,尝试不使用二进制文件,但仍使用其余部分。如果还是不行,打印确切的错误信息。502(错误网关)可能只是意味着你没有找到正确的URL。(你没有找到example.com,对吗?)
pxy2qtax3#
yks3o0rb4#
假设我有一个rest API来导入CSV文件(多部分编码文件)
相应的python请求应该如下所示。
注意:请确保不要在标题中添加
'Content-Type': 'multipart/form-data'
****