2011-02-28 94 views
42

我已经使用HTTP PUT方法为上传文件编写了一项服务。使用HTTP PUT方法测试文件上传

Web浏览器不支持PUT,所以我需要一个测试方法。它在POST中从浏览器中打开时效果很好。

更新:这是什么工作。我尝试过海报,但是和使用小提琴一样,它也遭受同样的困扰。你必须知道如何构建请求。卷曲照顾这个问题。

卷曲-X PUT “本地主机:8080/urlstuffhere” -F “文件= @文件名” -b “JSESSIONID = cookievalue”

回答

83

在我看来这样测试的最佳工具是curl。它--upload-file选项上传通过把一个文件,这是你想要什么(它可以做更多的事情,比如修改HTTP标头,如果你需要的话):

curl http://myservice --upload-file file.txt 
+0

谢谢。是否有已经建立的CURL的下载? – Speck 2011-02-28 15:57:45

+1

@ user381091取决于您的平台,但似乎很多都支持。这是官方curl网站上的下载向导的链接:http://curl.haxx.se/dlwiz/?type=bin – alienhard 2011-02-28 19:28:27

+3

请注意,curl的['--data'](http://curl.haxx。 se/docs/manpage.html)选项最初由此答案使用,不适合文件上传,因为它会去掉换行符,因此可能会修改文件。我用['--upload-file'](http://curl.haxx.se/docs/manpage.html#-T)代替它。 – 2015-05-30 01:21:10

-1

curl,有关使用-d如何开关?像:curl -X PUT "localhost:8080/urlstuffhere" -d "@filename"

+1

-d(或--data)不适合通用数据上传。请参阅文档。 – Enzo 2017-09-20 10:55:36

+0

我明白了,谢谢。 @Enzo – ibic 2017-09-21 11:16:45