【发布时间】:2016-06-22 01:13:37
【问题描述】:
这是我试图在 Eclipse 中运行的 curl 命令的代码 sn-p:
ProcessBuilder pb = new ProcessBuilder(
"curl",
"-XPOST",
"curl https://login.xyz.com/v1/oauth/token -H \"Accept: application/json\" --data 'client_id=<clientId>' --data 'client_secret=<clientSecret>' --data 'redirect_uri=localhost' --data 'code=<code>' ");
pb.redirectErrorStream(true);
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = null;
while ((line=r.readLine()) != null) {
System.out.println(line);
}
我应该得到一个 json 输出,如下所示:
{"data":
{
"sfEntityType":"Token",
"accessToken":<token>,
"expiryTime":<time in seconds>
},
"status":{"succeeded":true}
}
但我得到这样的输出:
curl: (1) Protocol "curl https" not supported or disabled in libcurl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (6) Could not resolve host: application
我该如何解决这个问题?
【问题讨论】:
-
您的问题应该更加具体。您确实没有从 java 调用 curl 时遇到问题。您的问题是 curl 输出看起来不像您期望的那样。无论您是从 java、python 还是直接在命令行调用 curl,这都无关紧要!