curl的--upload-file是一个帖子请求吗?

时间:2016-11-19 10:36:21

标签: curl post

我对curl的“--upload-file”参数有点困惑。该手册页只是声明它“将指定的本地文件传输到远程URL”。

这是邮寄申请吗?如果不是,那么它是什么以及在实际的HTML5客户端应用程序中它会是什么样子?

1 个答案:

答案 0 :(得分:12)

这是一个PUT请求。

来自manual(-T是 - 用于--upload-file的单点划线):

  

HTTP   将stdin上的所有数据上传到指定的HTTP站点:

function symmetricalDiff(a, b){
    var common = a.concat(b)
        .filter(function(d, index, inputArray){ 
            return inputArray.indexOf(d) != index
        });
    return (common.length==0) ? a.concat(b).sort() : 
        a.concat(b).filter(function(d){ return !common.includes(d)}).sort();
}
console.log(symmetricalDiff([1,2,3], [2,3,4]));  // [1, 4]
console.log(symmetricalDiff([1,4], [2,3]));       // [1, 4, 2, 3]
     

请注意,必须先将HTTP服务器配置为接受PUT,然后才能成功完成此操作。   有关进行HTTP数据上载的其他方法,请参阅下面的POST部分。

来自curl Documentation的更多信息:

  

4.4文件上传POST

     

早在1995年底,他们就定义了另一种发布数据的方法   HTTP。它在RFC 1867中有记录,为什么有时这种方法   称为RFC1867-posting。

     

此方法主要用于更好地支持文件上传。表单   允许用户上传文件可以像这样编写   HTML:

curl -T - http://www.upload.com/myfile
     

这清楚地表明即将发送的内容类型是   多部分/格式的数据。

     

要使用curl发布到此类表单,请输入命令行,如:

     

curl --form upload = @ localfilename --form press = OK [URL]