使用Java的VPN连接

使用Java的VPN连接,java,vpn,cisco,Java,Vpn,Cisco,有没有一种方法可以通过编程方式连接和断开Forticlient中的VPN 我看到,对于Cisco VPN客户端,可以选择使用它们提供的API或从我的Java代码执行连接命令。对于这些连接到VPN的方式,我们也非常欢迎您的意见 我正在寻找这样的选择或任何其他可能的,与Forticlient软件 从这里来的任何指示都会大有帮助 到目前为止,我的审判: @tom我尝试了这段代码来运行VPN连接命令。但我在这里面临着一些问题。我在试图得到一个“Password”提示并发送()pwd值的行中得到一个IO异

有没有一种方法可以通过编程方式连接和断开Forticlient中的VPN

我看到,对于Cisco VPN客户端,可以选择使用它们提供的API或从我的Java代码执行连接命令。对于这些连接到VPN的方式,我们也非常欢迎您的意见

我正在寻找这样的选择或任何其他可能的,与Forticlient软件

从这里来的任何指示都会大有帮助

到目前为止,我的审判:


@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()); 
        }
}