我想为我的服务器开发一个 java 应用程序,但我需要对网站 API (Twitch) 进行身份验证。为此,我需要通过网页连接到一个帐户,所以我想使用 Lynx 来完成。但是,当我尝试从我的 java 应用程序启动 Lynx 时,程序挂起,并且什么也不做:
Runtime rt = Runtime.getRuntime();
try{
if (os.contains("win")) {
// this doesn't support showing urls in the form of "page.html#nameLink"
rt.exec( "rundll32 url.dll,FileProtocolHandler " + url);
} else if (os.contains("mac")) {
rt.exec( "open " + url);
} else if (os.contains("nix") || os.contains("nux")) {
// Build a command string which looks like "browser1 "url" || browser2 "url" ||..."
StringBuffer cmd = new StringBuffer();
cmd.append( "lynx" + " \"" + url + "\" ");
rt.exec(new String[] { "sh", "-c", cmd.toString() });
} else {
return;
}
}catch (Exception e){
return;
}
显然这是因为 Runtime.getRuntime().exec() 在某些条件下可能无法工作,但我找不到任何与 Lynx 工作相关的东西。
服务器操作系统:Ubuntu 服务器 14.10