windows 下如何命令行调用迅雷下载?

2017-12-26 16:37:43 +08:00
 zjsxwc

用 golang 写了个简单的局域网内网站, 跑在我闲置的笔记本里(win7),

我想能浏览器提交某个文件下载地址给这个服务器后, 能调用 windows 安装的迅雷来下载文件, 我应该怎么做?

10941 次点击
所在节点    程序员
25 条回复
deepkolos
2017-12-26 16:41:13 +08:00
用按键精灵, 把地址写到剪切板, 然后调用该脚本~
Jackeriss
2017-12-26 16:44:31 +08:00
迅雷提供了 vbs 的 API
yhnmj6666
2017-12-26 16:46:33 +08:00
迅雷有 COM 接口,可以很方便的调用
zjsxwc
2017-12-26 16:47:31 +08:00
看到这个例子文档, 待会回家试试 http://xldoc.xl7.xunlei.com/0000000026/index.html
zjsxwc
2017-12-26 16:51:08 +08:00
#4 好像不是迅雷调用文档

还是用按键精灵靠谱点....
binjoo
2017-12-26 16:52:53 +08:00
这种需求,远程下载不是可以吗?
zjsxwc
2017-12-26 16:57:31 +08:00
@binjoo

云盘这种远程下载还是得做一次下载到本机动作啊
xomix
2017-12-26 16:58:12 +08:00
怀念以前的 web 迅雷,可以直接调用
binjoo
2017-12-26 17:09:09 +08:00
@zjsxwc “我想能***浏览器提交某个文件下载地址***给这个服务器后”,这一步不就是的吗?
xshwy
2017-12-26 17:22:38 +08:00
查了挺多资料调用迅雷都不是很方便,建议使用 IDM,非常好用,命令行也很丰富。


IDM 的命令行调用方式:IDMan.exe /d "download_url" /f "filename" /p "output_path" ​​​​
/p - 本地路径,定义要保存的文件放在哪个本地路径
/f - 本地文件名,定义要保存的文件改名后保存在本地
/q - IDM 将在成功下载之后自动退出
/h - IDM 将在成功下载之后挂起连接
/a - 添加一个指定的文件,用 /d 到下载队列,但是不开始下载
/s - 开始任务调度里的队列
/n - 静默下载,执行命令期间不弹窗
zjsxwc
2017-12-26 17:29:02 +08:00
@binjoo #9

这个服务器就是我自己本机啊,而不是云上的服务器
iwtbauh
2017-12-26 18:36:53 +08:00
迅雷有自定义 scheme,shellexecuteex ()函数或基于此类技术的方法能自动识别。
不过不推荐用迅雷下载,推荐用 aria2
Nioty
2017-12-26 18:54:27 +08:00
可以用 url scheme 测一下 开自动下载试试
Devin
2017-12-26 21:31:40 +08:00
@xshwy 换成 wget win 版如何?
ysc3839
2017-12-27 00:43:22 +08:00
@iwtbauh 那个 URL scheme 估计只能弹出下载确认吧?不能让它开始下载。
chenyiping1995
2017-12-27 00:52:10 +08:00
@ysc3839 #15 你可以在迅雷的设置里设置静默下载,不弹窗直接下载到指定位置
chenyiping1995
2017-12-27 00:53:05 +08:00
另外楼主的这个需求也许用 Aria2 解决更为妥当。
g00001
2017-12-27 04:51:58 +08:00
windows 上就用 aardio 吧,
实现一个 HTTP 服务器用于浏览器上局域网调用也就没几句代码
----------------------------------------------
import wsock.tcp.asynHttpServer;
var srvHttp = wsock.tcp.asynHttpServer();

srvHttp.run(
function(response,request){
response.write(request)
}
);


下载可以调用 aria2,
用 aardio 调用他的 WebSocet/PRC 接口,也就几句代码的事
----------------------------------------------
import web.socket.jsonClient;
var ws = web.socket.jsonClient();
ws.aria2.addUri({"下载地址"})



至于调用迅雷嘛,用 aardio 也简单:
---------------------------------------------
import com;
var thunder = com.CreateObject("ThunderAgent.Agent")
thunder.AddTask("http://download.aardio.com/aardio/ide/aardio.7z","aardio.7z")
thunder.CommitTasks()


而且 aardio 可以调用 python,node.js 这些提供的模块,如果会这些东西就更快。
codeeer
2017-12-27 08:17:11 +08:00
可惜迅雷凉了…
HandSonic
2017-12-27 09:12:01 +08:00
Aria2 多好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417781

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX