curl上传文件是这么弄得么

2025-04-14 10:28:18
推荐回答(1个)
回答1:

curl -F "filename=@/home/test/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 "filename=@/home/test/file.tar.gz;type=application/octet-stream" http://localhost/action.php

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

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