Windows上Firefox通过flashgot调用uget下载

现在换回了windows,发现uget也是支持window,果断下载安装。
但是发现从firefox跳转到uget下载却不怎么好使,FlashGot根本没有uget下载选项。


Windows上Firefox通过flashgot调用uget下载_第1张图片
uGet显示为灰色

没办法自己添加一个选项,发现可以调用了,但是有个问题,只有下载链接传了过来,cookie、referer没有传过来,遇到需要校验的就没办法下载了。

试着自己添加参数模板,查询了一下uGet文档。

Windows上Firefox通过flashgot调用uget下载_第2张图片
uGet参数

在cmd下试了一下,没问题。

然后在模板参数里面添加这些参数,然后发生了一些奇怪的问题(flashgot会默认将这些参数换行)。弄了好久,还是不行,最后决定不弄了。

突然想到,我可以自己写一个中间程序,处理参数中的换行之后,再去调用uGet。

        class Program
        {
            static void Main(string[] args)
            {
                string filefullname = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
                string filepath = System.IO.Path.GetDirectoryName(filefullname);
                StringBuilder SB = new StringBuilder();
                foreach (string ar in args)
                {
                    if (ar == "#")
                        SB.Append(" ");
                                           else if(ar =="@")
                                                    SB.Append("\"");
                    else
                        SB.Append(ar);
                }
                //Console.WriteLine(SB.ToString());
                try
                {
                    System.Diagnostics.Process.Start(filepath + "\\uget.exe", SB.ToString());

                }
                catch (Exception e)
                {
                    Console.WriteLine("发生错误:" + e.Message);
                    Console.WriteLine(filefullname);
                    Console.WriteLine(filepath);
                    Console.WriteLine("按任意键退出!");
                    Console.ReadKey();
                }
            }
        }

模板参数这样写。

    [URL]
#
--filename=
@
[FNAME]
@
#
--http-referer=
@
[REFERER]
@
#
--http-cookie-data=
@
[COOKIE]
@
#
--http-cookie-file=
@
[CFILE]
@
#
--http-post-data=
@
[RAWPOST]
@

完美解决。

你可能感兴趣的:(Windows上Firefox通过flashgot调用uget下载)