java启动迅雷

最初的想法是Runtime.exec通过命令行启动迅雷,但不知道迅雷的命令行参数,大家都知道种子搜索器可以调用迅雷,不懂种子搜索器的都是纯洁的孩子。。。。,通过任务管理器查看迅雷的启动命令行是类似于以下格式

/AgentFile:E:\1.torren

但自己模拟了好几次,只有一两次成功。。。无语了。

突然想到浏览器可以启动迅雷处理thunder协议的URL,如果可以构造出thunder协议的URL,那么可以借助打开浏览器的API打开迅雷,代码如下

 1 package com.demo;
 2 
 3 import java.awt.Desktop;
 4 import java.net.URI;
 5 
 6 
 7 public class Demo {
 8     public static void main(String[] cmd) throws Exception {
 9         String website="thunder://QUFmdHA6Ly9keTExMTpwaWFvaHVhQGR" +
10                         "5MTExLnBpYW9odWEuY29tOjExNC8lRTklQTMlOTglRT"+
11                         "glOEElQjElRTclOTQlQjUlRTUlQkQlQjElRTQlQjglOEIl"+
12                         "RTglQkQlQkQlRTclQUIlOTl3d3cucGlhb2h1YS5jb20lRTYlQkEl"+
13                         "OTAlRTQlQkIlQTMlRTclQTAlODE3MjBwLnJtdmJaWg==";
14         Desktop desktop = Desktop.getDesktop();
15         URI uri = new URI(website);
16         desktop.browse(uri);
17     }
18 }

这样就可以顺利的调用迅雷,而且可以跨平台,貌似其他平台迅雷也不支持,如果不能启动迅雷,可能是你浏览器禁用迅雷插件,在迅雷设置中修复下就行了。

唯一不足的就是要将URL转换成thunder,关于thunder协议网上也有很多的介绍其实就是对URL进行base64编码,加个AA的头ZZ的尾

原文地址:https://www.cnblogs.com/weisuoc/p/3114579.html