0

定义的正确语法是什么: $data 为:

   {\"username\":\"[$username]\",\"password\":\"[$password]\",\"webdata\": [$syntax]}" \

并将其替换为我的 shell 脚本

      result=$(curl -D - -k -m 10  -H "Content-type: application/json; charset=UTF-8" \
            -d "{\"username\":\"[$username]\",\"password\":\"[$password]\",\"webdata\":   [$syntax]}" \
     https://${host}/api 2>/dev/null |head -1)
4

1 回答 1

1

我将假设 bash (>=3.0); 您之前设置了 $username、$password 和 $syntax。一个简单的选择是:

 printf -v data '{"username":"[%s]","password":"[%s]","webdata":[%s]}"' \
   "$username" "$password" "$webdata"

(curl 的“-d”隐含 ASCII,如果使用任何多字节 UTF-8 字符,您将遇到麻烦。使用 --data-binary 和/或将您的请求写入文件可能更健壮,并且使用“--data-binary @request.tmp”加载它。)

于 2013-01-08T12:29:47.193 回答