gpt4 book ai didi

java - 无法使用 JWT 将文件上传到盒子 - curl : (26) failed creating formpost data

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:47 24 4
gpt4 key购买 nike

我正在 java 中使用 cURL 执行以下命令。这给了我错误 - 在 Bearer 之后的空格之后。

2019-07-25 08:04:09,297 INFO [com.pc.boxapi.BoxApi:198] - curl: (6) 无法解析主机 'Ddu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk"'

curlCommand = "curl https://upload.box.com/api/2.0/files/content  -H \"Authorization:Bearer Ddu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk\" -X POST  -F attributes='{\"name\":\"text.txt\",\"parent\":{\"id\":\"69430965158\"}}' -F file=@file.txt\"";

Process process = Runtime.getRuntime().exec(curlCommand);
LOG.info("process {} ", process.getOutputStream().toString());

如果我在 BearerDdu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk 之间使用正斜杠我收到另一个错误 -

INFO [com.pc.boxapi.BoxApi:198] - curl: (26) failed creating formpost data

服务器是Linux

最佳答案

根据错误信息Couldn't resolve host 'Ddu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk"',curl解析了Ddu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk作为主机名,这意味着它收到了Authorization:BearerDdu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk 作为两个单独的参数,而您显然希望将其作为一个参数。

我建议使用 Process.runtime(String[] cmdarray) 方法而不是 Process.runtime(String cmd),在这种方法中,您将负责拆分命令变成多个 token :

String[] curlCommand = { "curl", "https://upload.box.com/api/2.0/files/content",  
"-H", "Authorization:Bearer Ddu9DLiWt2YRWxtsoAxjL0BMMbt9FvOk", "-X", "POST",
"-F", "attributes={\"name\":\"text.txt\",\"parent\":{\"id\":\"69430965158\"}}",
"-F", "file=@file.txt"
};
Process.runtime(curlCommand);

另请注意,@file.txt 引用是相对引用:它依赖于当前工作目录中存在的 file.txt 文件(除非已更改,您从中执行 Java 代码的那个)。

关于java - 无法使用 JWT 将文件上传到盒子 - curl : (26) failed creating formpost data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57205339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com