cURL 是一个神奇的实用程序,它允许开发人员下载 URL 的内容、浏览响应标头、获取股票报价、确认我们的 GZip 编码是否正常工作等等。 cUrl 用于命令行的另一个重要用途是将表单数据发布到服务器,尤其是在测试中高级表单处理时。 就像其他 cURL 命令一样,POST 表单数据非常简单。
使用 cURL 发布表单数据
开始你的卷曲命令 curl -X POST
然后添加 -F
对于每个 field=value
您要添加到 POST:
curl -X POST -F 'username=davidwalsh' -F 'password=something' http://domain.tld/post-to-me.php
如果您使用的是 PHP,则可以使用 print_r
在 $_POST
变量以查看您的服务器是否按预期接收了 POST 数据:
Array(
'username' => 'davidwalsh',
'password' => 'something'
)
如果您需要使用 cURL 发送特定的数据类型或标头,请使用 -H
添加标题:
# -d to send raw data
curl -X POST -H 'Content-Type: application/json' -d '{"username":"davidwalsh","password":"something"}' http://domain.tld/login
使用 cURL 发布文件
使用 cURL 发布文件略有不同,因为您需要添加一个 @
在文件位置之前,在字段名称之后:
curl -X POST -F 'image=@/path/to/pictures/picture.jpg' http://domain.tld/upload
使用 PHP 探索 $_FILES
变量数组将显示文件数据,就好像它是通过浏览器中的表单上传的一样:
Array(
"image": array(
"name" => "picture.jpg"
"type" => "image/jpeg",
"tmp_name" => "/path/on/server/to/tmp/phprj5rkG",
"error" => 0,
"size" => 174476
)
)
使用 cURL 发布文件内容可能比您想象的要容易,对吧?
我第一次需要从命令行 POST 文件数据时,我以为我是在打架; 相反,我发现 cURL 使这个过程变得简单!