最新消息:

curl上传文件的用法

linux admin 3625浏览 0评论

用curl下载网页估计大家都会,但是模拟 multipart/form-data 形式的 form 上传文件则稍稍复杂些。命令行如下。

curl -F "action=upload" -F "filename=@file.tar.gz" http://localhost/action.php

如果使用了-F参数,curl就会以 multipart/form-data的方式发送POST请求。-F参数以name=value的方式来指定参数内容,如果值是一个文件,则需要以name=@file的方式来指定。

如果通过代理,上面的命令有可能会被代理拒绝,这时需要指定上传文件的MIME类型。

curl -x myproxy.com:1080 -F "action=upload" -F "filename=@file.tar.gz;type=application/octet-stream" http://localhost/action.php

另外,如果不上传文件,则可以使用 -d 参数,这时curl会以 application/x-www-url-encoded 方式发送 POST 请求。

curl -d "action=del" -d "id=12" http://localhost/action.php

ps:使用-F参数上传文件时,除文件以外的其他参数前面也要加上-F参数,只有这样curl才会以multipart/form-data的方式将文件和表单数据发送到接收页面。

ps:在向https页面提交数据时有一个-k参数,表示 -k/–insecure      Allow connections to SSL sites without certs ,数据发送还是以https方式进行的。而不是加了-k参数后就不以https方式发送。

转载请注明:jinglingshu的博客 » curl上传文件的用法

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址