在Java中与ProcessBuilder一起使用Curl-s-v-xPOST时收到错误的请求400

在Java中与ProcessBuilder一起使用Curl-s-v-xPOST时收到错误的请求400,java,post,curl,processbuilder,Java,Post,Curl,Processbuilder,我试图在Java中使用ProcessBuilder执行下面的curl命令,但是,我收到了一个错误的请求 代码如下: // Get all inventory items ProcessBuilder pb = new ProcessBuilder("curl", "-v", "-X", "POST", "https://api.clover.com/v3/merchants/W97HP438A0KSR/items/FEKSZZHF5T43R", "-H", "Co

我试图在Java中使用ProcessBuilder执行下面的curl命令,但是,我收到了一个错误的请求

代码如下:

// Get all inventory items
ProcessBuilder pb = new ProcessBuilder("curl", "-v", "-X", "POST",
        "https://api.clover.com/v3/merchants/W97HP438A0KSR/items/FEKSZZHF5T43R", "-H",
        "Content-Type: application/json", "-H", "Authorization: Bearer 335d0604-e948-5553-2a7e-7d6e504c6bc6",
        "--data", "{\"price\":8000}");

Process p;
try {
    p = pb.start();
    InputStream is = p.getInputStream();
    InputStream errorStream = p.getErrorStream();
    BufferedInputStream bis = new BufferedInputStream(is);
    BufferedReader br = new BufferedReader(new InputStreamReader(errorStream));
    String strLine = "";
    while ((strLine = br.readLine()) != null) {
        System.out.println(strLine);
    }
    br.close();
}
catch (Exception e) {
    e.printStackTrace();
}
我在控制台中遇到以下错误:

HTTP/1.1400错误请求

感谢您的帮助


费尔南多

您是否尝试手动运行
curl
?我得到401<代码>curl-v-X POSThttps://api.clover.com/v3/merchants/W97HP438A0KSR/items/FEKSZZHF5T43R -H内容类型:application/json-H授权:Bearer 335d0604-e948-5553-2a7e-7d6e504c6bc6——数据{“price”:8000}没关系。我只需要用\“和\ \”来转义双引号。谢谢阿尔法辛的评论。嗨,阿尔法辛,我确实尝试手动运行curl命令,它成功了。我只是忘记了正确地转义双引号。也就是说,将--data{“price”:8000}更改为--data{“price\”:8000}太好了,如果是这样的话,你可以删除这个问题。