小编兰秀菊*_*兰秀菊的帖子

如何在具有多个参数的 bash curl 命令中使用 --data-binary

<?php
$post_data = array(
    'filename'=>new \CurlFile($uploadPath),
    'jsondata'=> json_encode($params,JSON_UNESCAPED_UNICODE)
$toPdfApi='https://example.com/convert2PDF'
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$toPdfApi);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_BINARYTRANSFER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'multipart/form-data',
        'application/x-www-form-urlencoded'));
curl_setopt($curl, CURLOPT_POSTFIELDS,$post_data);
$result = curl_exec($curl);
Run Code Online (Sandbox Code Playgroud)

然后我将它转换为 bash shell 命令

curl -i -X POST -H "Content-Type: multipart/form-data" -H "Content-Type: application/x-www-form-urlencoded" --data-binary  'filename=@/root/test.txt' --data-binary   'jsondata={"fileName":"test","id":"xxx","backlink":"https://example.com/hello"}' https://example.com/convert2PDF
Run Code Online (Sandbox Code Playgroud)

但是响应结果还是不对

HTTP/1.1 200 OK
Date: Fri, 01 Jun 2018 14:41:37 GMT
Content-Type: application/x-www-form-urlencoded
Transfer-Encoding: chunked
Server: Jetty(9.4.5.v20170502)

error
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?是我隐蔽的 bash shell 吗?

如果我使用以下命令 [replace -data-binary to -F],我会得到正确的状态,但是从 …

bash curl

2
推荐指数
1
解决办法
6939
查看次数

标签 统计

bash ×1

curl ×1