如果我用我的本地API服务器在Postman上执行POST请求,它将工作:
但是如果我尝试在python中使用以下语法,它就不起作用了:requests.post('http://127.0.0.1:5001/api/v0/add', data={'path': 'test'}).text它会传回:"file argument 'path' is required\n"你能解释一下为什么不管用吗?
requests.post('http://127.0.0.1:5001/api/v0/add', data={'path': 'test'}).text
"file argument 'path' is required\n"
gojuced71#
问题是在requests.post上使用data时默认为application/x-www-form-urlencoded,而您的应用程序需要multipart/form-data。请尝试使用files而不是data:
requests.post
data
application/x-www-form-urlencoded
multipart/form-data
files
requests.post('http://127.0.0.1:5001/api/v0/add', files={'path': 'test'}).text
7tofc5zh2#
如果我传递files参数而不是data或json,它就可以工作!
requests.post(url = api_url, files={'path':'test'}).text
2条答案
按热度按时间gojuced71#
问题是在
requests.post
上使用data
时默认为application/x-www-form-urlencoded
,而您的应用程序需要multipart/form-data
。请尝试使用files
而不是data
:7tofc5zh2#
如果我传递files参数而不是data或json,它就可以工作!