柱塞阀用在蒸汽上:VPN连接的JAVA代码
来源:百度文库 编辑:中财网 时间:2024/04/28 06:58:49
VPN连接的JAVA代码
发表于 September 26, 2011 in JAVA and 小技巧. 4 Comments Tags: JAVA, windows, 基础, 网络.在写爬虫时常常被ban,如淘宝这样的网站如果请求并发过快就很快被ban了,一ban就很久,而幸好我们没有固定IP,在VPN或者ADSL重连后IP就变化了,可以继续爬数据而不会被ban。
Windows提供了一个rasdial的命令,可以连接VPN和断开VPN。
首先需要新建一个VPN,如建立了一个名称为“VPN”的连接。
写了一个VPNTool的JAVA类
view plaincopy to clipboardprint?- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class VPNTool
- {
- private synchronized static String executeCmd(String cmd) throws IOException
- {
- Process process = Runtime.getRuntime().exec("cmd /c " + cmd);
- StringBuilder sbCmd = new StringBuilder();
- BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
- String line = "";
- while ((line = br.readLine()) != null)
- {
- sbCmd.append(line);
- }
- return sbCmd.toString();
- }
- public synchronized static boolean disconnectVPN(String vpnName) throws IOException
- {
- String cmd = "rasdial " + vpnName + " /disconnect";
- String result = executeCmd(cmd);
- if (result == null || result.contains("没有连接"))
- return false;
- else return true;
- }
- public synchronized static boolean connectVPN(String vpnName, String username, String password) throws IOException
- {
- String cmd = "rasdial " + vpnName + " " + username + " " + password;
- String result = executeCmd(cmd);
- if (result == null || !result.contains("已连接"))
- return false;
- return true;
- }
- }
调用时只需要VPNTool.connectVPN(“VPN”, “username”, “password”) 就可以连接VPN,调用VPNTool.disconnect(“VPN”)则断开连接。
关于VPN的连接速度!
VPN连接的相关知识
java连接数据库的方法,最好有详细的代码
关于VPN连接故障的提问
Winme 如何建立虚拟的VPN连接?
VPN连接出现736的解决办法
java的俄罗斯方块代码
java的一些代码...
请解释客户端发起的VPN连接和NAS发起的VPN连接有什么不同
用java做的聊天程序的代码或连接地址?
什么是VPN连接?
VPN共享连接
VPN连接设置
VPN连接问题
cisco VPN 连接问题
无法连接cisco vpn???
VPN 网络连接问题!
java小小的代码问题
java网页时间的代码
看看下面的java代码
关于JAVA的小代码
JAVA代码:窗口前置的
怎么样去添加VPN拨号上网的连接装置呢?
在组建VPN虚拟专用网络进行的VPN连接时VPN连接"图标,需输入用户名和密码,是那里的户名和密码???