下面来讨论一下firefox使用上wine 讯雷链接下载的办法:
我们知道,不管是ie还是windows版firefox,向讯雷请求下载是通过讯雷的activeX控件增加的,google查阅讯雷API即可,如下
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask(url,"","","","",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
第2行的参数可以在网上查阅得到,这里不细讲,关键是有个参数url,可以传递给讯雷,使得其开始进行下载。
这些代码可以用VBS开发,所以我们必须让wine支持vbs,这个可以通过winetricks来安装Windows Script Host 5.6来解决,然后在wine下的执行代码是$wine wscript test.vbs
然后回到firefox,我们使用一款多功能下载器插件FlashGot可以自定义下载的功能,在插件选项中新增自定义选项,名称随便取个thunder5,然后在命令行中启动一个sh脚本,参数模板选用url就可以了,如果要做的全面一下,那是以后的事情,可以添加上参考连接等等信息。
下面是被增加了chmod +x权限的/usr/bin/下的自己写的sh脚本
文件名thunder
#!/bin/sh
env WINEPREFIX="/home/ty/.wine" wine "C:\Program Files\Thunder Network\Thunder\Thunder.exe"
if [ $# -eq 1 ]
then
#echo $1
env WINEPREFIX="/home/ty/.wine" wine wscript "C:\thunder.vbs " $1
fi
FlashGot会将参数url传递给这个sh脚本命令行,然后他会先启动wine讯雷,然后启动前面所述的vbs脚本命令,并将参数url传给这个脚本命令。这里要求讯雷安装的载体环境必须安装WSH引擎,开始我在ies4linux上安装的讯雷5,但是这个载体环境无法安装wsh,我是按照winetricks的特定的命令行给这个载体安装wsh的,希望牛人能解决在ies4linux下安装wsh引擎的问题^_^
然后是C:\thunder.vbs,我是这样简单写的
Dim url
url=""
If WScript.Arguments.Count = 1 Then
url=WScript.Arguments.Item(0)
msgBox url
Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
Call ThunderAgent.AddTask(url,"","","","",1,0,5)
Call ThunderAgent.CommitTasks2(1)
Set ThunderAgent = Nothing
End If
前面通过取得url参数在调用讯雷的activeX控件向讯雷申请下载链。这个可以完善,因为传来的url可能是专用链,或者其他什么的,不知一个参数,所以下一步目标是完善对url的分析。在网上已经有牛人专门编写了url分析的代码,可以google一下。
至此,基本也就解决了firefox的讯雷链问题了,中间借用了FlshGot的抓去地址,并传送参数的功能,关键是最先提到的那些问题,本人还没有解决好,另外vbs里的中文是不能出现的,本人的vbs编程很一般,出现中文链时最后能够编码escape一下就好了,具体的仍待解决。
望牛人可以以鄙人之见为参考,开发出比较完善的firefox+wine讯雷在wine环境或者ies4linux环境下的使用,如果有其他更好的办法,那自当期待啦!!!!!
