Runtime クラスから exec メソッドを呼び出す jsp スクリプトに execute(String cmd) があります。
サーバーに保存されているphpスクリプトのように、ローカルコマンドを呼び出すと機能します。例: /usr/bin/php /path/to/php/script arg1 arg2
それで、それで動作しているので、実行コマンドは問題ないと思います。
テキストベースの Web ブラウザである lynx を呼び出そうとすると、機能しません。
端末で呼び出すと、正常に動作します: /usr/bin/lynx -dump -accept_all_cookies ' http://www.someurl.net/?arg1=1&arg2=2 '
しかし、実行コマンドからこれを呼び出すと、何も起こりません...
理由はありますか?
これは私の実行方法です:
public String execute(String cmd){
Runtime r = Runtime.getRuntime();
Process p = null;
String res = "";
try {
p = r.exec(cmd);
InputStreamReader isr = new InputStreamReader(p.getInputStream());
BufferedReader br = new BufferedReader(isr);
String line = null;
//out.println(res);
while ((line = br.readLine()) != null) {
res += line;
}
p.waitFor();
} catch (Exception e) {
res += e;
}
System.out.println(p.exitValue());
return res;
}