有没有办法从Python脚本使用POST发送文件?
我想发一个POST请求,使用python将文件上传到Web服务(并得到响应).例如,我可以使用以下命令执行以下POST请求curl:
curl -F "file=@style.css" -F output=json http://jigsaw.w3.org/css-validator/validator
Run Code Online (Sandbox Code Playgroud)
如何使用python urllib/urllib2发出相同的请求?我到目前为止最接近的是:
with open("style.css", 'r') as f:
content = f.read()
post_data = {"file": content, "output": "json"}
request = urllib2.Request("http://jigsaw.w3.org/css-validator/validator", \
data=urllib.urlencode(post_data))
response = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
我从上面的代码中得到了HTTP Error 500.但是既然我的curl命令成功了,那我的python请求肯定有问题吗?
我对这个话题很陌生,如果菜鸟问题有很简单的答案或错误,请原谅我.在此先感谢您的所有帮助!