我目前正在使用Python对所需的网址执行POST并上传内存中的csv文件:
Python代码:
csv_content = 'some,fake,single,row,csv\r\n'
requests.post(
'http://some.location.com',
files={'form_field_name': ('file_name.csv', csv_content, 'text/csv')},
# implicit "multipart/form-data" content-type header
)
Python代码运行良好,但是我真的想使用curl
来执行操作。
我所拥有的:(我知道它缺少很多,我尝试过
curl -X POST http://some.location.com -H "Content-Type: text/csv"
-d
还不够-我也想添加文件名答案 0 :(得分:0)
这个答案怎么样?针对您的情况有几种解决方案,因此请考虑其中一种。
运行python脚本时,"form_field_name": "some,fake,single,row,csv\r\n"
的发送形式为files
。 file_name.csv
用作文件名。在这种情况下,请求正文如下。
--boundaryboundary
Content-Disposition: form-data; name="form_field_name"; filename="file_name.csv"
Content-Type: text/csv
some,fake,single,row,csv
--boundaryboundary--
使用上述要求正文时,样品卷曲如下。
curl -H "Content-Type: multipart/form-data; boundary=boundaryboundary" \
-d $'--boundaryboundary\r\nContent-Disposition: form-data; name="form_field_name"; filename="file_name.csv"\r\nContent-Type: text/csv\r\n\r\nsome,fake,single,row,csv\r\n\r\n--boundaryboundary--' \
"http://some.location.com"
Content-Type
使用multipart/form-data; boundary=boundaryboundary
。file_name.csv
的形式给出。\r\n
。如果这不是您想要的结果,我表示歉意。