我正在使用curl,我想通过发送--data-urlencode
字符串和--data-binary
JSON文件内容来执行HTTP PUT请求。是否可以在同一curl
命令中生成它?
我尝试了以下
curl www.website.org --request PUT -H Content-Type: application/json --data-urlencode "key=sample_string" --data-binary @sample_file.json
但似乎无法正常工作:key=sample_string
和sample_file.json
内容根本不会发送。
答案 0 :(得分:0)
这里有几件事情;
您的curl请求缺少标题的双引号。它应该是:
curl www.website.org --request PUT -H“Content-Type:application / json” --data-urlencode“key = sample_string”--data-binary @ sample_file.json
您的内容类型是application / json,我希望不是“二进制”,所以您应该使用合适的类型。
在任何情况下,您都应该能够使用简单的PHP脚本找到提交的值,如下所示:
$putfp = fopen('php://input', 'r');
$putdata = '';
while($data = fread($putfp, 1024))
$putdata .= $data;
fclose($putfp);
var_dump($putdata);
echo "---CONTENT_TYPE---\n";
var_dump($_SERVER['CONTENT_TYPE']);