使用Java的VPN连接
有没有一种方法可以通过编程方式连接和断开Forticlient中的VPN 我看到,对于Cisco VPN客户端,可以选择使用它们提供的API或从我的Java代码执行连接命令。对于这些连接到VPN的方式,我们也非常欢迎您的意见 我正在寻找这样的选择或任何其他可能的,与Forticlient软件 从这里来的任何指示都会大有帮助 到目前为止,我的审判:使用Java的VPN连接,java,vpn,cisco,Java,Vpn,Cisco,有没有一种方法可以通过编程方式连接和断开Forticlient中的VPN 我看到,对于Cisco VPN客户端,可以选择使用它们提供的API或从我的Java代码执行连接命令。对于这些连接到VPN的方式,我们也非常欢迎您的意见 我正在寻找这样的选择或任何其他可能的,与Forticlient软件 从这里来的任何指示都会大有帮助 到目前为止,我的审判: @tom我尝试了这段代码来运行VPN连接命令。但我在这里面临着一些问题。我在试图得到一个“Password”提示并发送()pwd值的行中得到一个IO异
@tom我尝试了这段代码来运行VPN连接命令。但我在这里面临着一些问题。我在试图得到一个“Password”提示并发送()pwd值的行中得到一个IO异常。此外,Forticlient和Cisco的API似乎都在其dll中可用(Cisco的vpnapi.dll和Forticlient的fccomintdll.dll)。因此,到目前为止,我只有两条路要走。一是获取这些dll文件的引用并访问可用的方法。第二,像我在上面代码中所做的那样执行命令。如果还有其他选择,那么请提出建议。你找到解决方案了吗?如果是,请发布答案。我也面临同样的问题。我找不到解决这个问题的办法
private static final String COMMAND = "C:/Program Files/Cisco/Cisco AnyConnect Secure Mobility Client/vpncli";
private ExpectJ exp = new ExpectJ(10);
public void connectToVPNViaCLI(String server, String uname, String pwd)
{
try {
String command = COMMAND + " connect " + server;
Spawn sp = exp.spawn(command);
sp.expect("Username: ");
sp.send(uname + "\n");
sp.expect("Password: ");
sp.send(pwd + "\n");
sp.expect("accept? [y/n]: ");
sp.send("y" + "\n");
} catch(Exception e) {
LOGGER.severe(e.getMessage());
}
}