解决aMule下载包含中文的链接时乱码

用aMule下载一些verycd的资源,一般都是复制了链接,直接用aMule下载,或者使用ed2k命令进行下载。但是名称中的中文部分,一直都是乱码。以前一直都用手工修改名称,或者在找到资源后去根据资源详情再选用资源的相应名称保存。
这些个方法都比较笨。最近才知道这是URL解码的问题,Python自带了URL解码的库,就写个脚本试试了,将URL解码后,调用系统的ed2k命令加入下载链接,测试通过。代码很简单:

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python

from urllib import unquote
from os import system
from sys import argv

if __name__=="__main__":
    argv.pop(0)
    for res in argv:
        system("ed2k '%s'" %(unquote(res)))

其中,如果用Python 3,第一个import应该是:

from urllib.parse import unquote

并且由于ed2k链接中含有”|”字符,会被shell解释成管道符号,会引起错误,应该用单引号讲要下载的ed2k链接引起来才可以。

比如:

amule_down.py 'ed2k://...........'

这样的命令即可,应该可以用在关联浏览器链接的命令中,不过我都是自己手工复制的,还没有实验过直接通过关联浏览器链接类型自动执行的效果。

ps: wordpress怎么总是要把标题中单词的第一个字母大写,”aMule”总是被自作聪明的转换成”AMule”而且我不知道如何改,到底是wordpress的设置问题还是主题的原因?希望谁知道,还不吝赐教……

《解决aMule下载包含中文的链接时乱码》有2条留言

留下评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据