我想使用調用Runtime.getRuntime在Java程序中使用捲曲(時)EXEC的java - 使用curl與調用Runtime.getRuntime(時)EXEC
完整的片段低於但什麼我的問題歸結爲是。我得到一個錯誤的反應,當我在調用Runtime.getRuntime()使用curl命令。EXEC(命令),但是當我的System.out.println的命令,複製並粘貼到一個shell並執行它有它工作正常。
System.out.println(command);
Runtime.getRuntime().exec(command);
什麼可能會導致運行時執行exec和在shell中執行該命令的這種不同結果。
感謝任何提示
馬丁
更新:
錯誤響應,我得到使用運行時爲:{ 「錯誤」: 「未經授權」}
正如我從似乎不清楚的命令中看到的那樣。我沒有得到任何異常curl命令運行通過,但JSON響應如上所述。
String APP_ID = "XXX";
String REST_API_KEY = "YYY";
String header = "-H \"X-Parse-Application-Id: " + APP_ID
+ "\" -H \"X-Parse-REST-API-Key: " + REST_API_KEY
+ "\" -H \"Content-Type: application/zip\" ";
public void post2Parse(String fileName) {
String outputString;
String command = "curl -X POST " + header + "--data-binary '@"
+ fileName + "' https://api.parse.com/1/files/" + fileName;
System.out.println(command);
Process curlProc;
try {
curlProc = Runtime.getRuntime().exec(command);
DataInputStream curlIn = new DataInputStream(
curlProc.getInputStream());
while ((outputString = curlIn.readLine()) != null) {
System.out.println(outputString);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
郵政異常/錯誤你得到 – CloudyMarble
{「錯誤」:「未經授權」} – dorjeduck
你得到一個異常?它有哪些錯誤代碼和消息?或者輸出顯示未經授權?與發佈響應JSON – CloudyMarble