shuangliudaxia 发表于 2013-6-22 18:50:29

【已解决】动态下载地址如何下载文件

本帖最后由 shuangliudaxia 于 2013-6-24 20:33 编辑

我们经常下载文件的时候 会遇到一些下载地址是以下类型:
InetGet("http://u.scgglm.com/iclk/?zoneid=122286&uid=71", "c:\PPTV(pplive)_forjieku_571.exe",0)
Run("c:\PPTV(pplive)_forjieku_571.exe")
像这种广告联盟程序里面的下载地址 怎么让他从上面的动态推广地址下载文件啊我试过用Ineget下载老是报错下载后的文件才2K,郁闷········

哪位高手解答下 看样子这个问题有点难哦············

shuangliudaxia 发表于 2013-6-22 19:11:40

没人知道吗{:face (207):}

morphling12345 发表于 2013-6-23 08:39:33

一般提问也是需要一些技巧的,不具备可操作性的提问都只能得到不具备可执行的答案。例如思路是正则表达式获取所有类似格式的链接,然后根据要求进一步正则筛选,然后模拟打开链接或者创建新链接,不过没实验的对象很难得到解决方案

shuangliudaxia 发表于 2013-6-23 09:26:31

楼主我 我把内容改了例子进去了 能看看不

morphling12345 发表于 2013-6-23 09:37:07

首先,我没用过inetget
InetGet ( "URL" [, "文件名" [, 选项 [, 是否后台]]] )
看完帮助,我谈下我理解的这个函数,
帮助中说明了URL 参数是指类似"http://www.somesite.com/path/file.html"这样的形式,这和我们在网页浏览器中输入的地址是一样的格式.
如果该URL实际并非文件的来源地址,而是需要跳转至真实地址才能下载的,也许就会无法下载该文件...

morphling12345 发表于 2013-6-23 09:37:16

本帖最后由 morphling12345 于 2013-6-23 09:39 编辑

还是等高手来解决吧...

Duvet 发表于 2013-6-23 11:56:17


Local $sUrl = "http://u.scgglm.com/iclk/?zoneid=122286&uid=71"
Local $bData = InetRead($sUrl)
Local $sText = BinaryToString($bData, 1)
Local $aText = StringRegExp($sText,"href\h*=.([^""']+)", 3)
ConsoleWrite("RealUrlAddress: " & $aText & @CRLF)

建議交由下載器來下載比較適當

shuangliudaxia 发表于 2013-6-26 17:58:32

回复 7# Duvet


    这段代码我运行了怎么没有看见下载到的文件啊,我下载了文件在哪里去找呢?

怎么没有指定到下载某个目录或者下载后的文件名 我怎么找啊

楼上风云 发表于 2013-6-26 20:51:21

回复 8# shuangliudaxia

最大化你的SCITE.EXE,然后留意它的下半部分的输出信息。或者,到CHM里查下
ConsoleWrite("RealUrlAddress: " & $aText & @CRLF)

nqawen 发表于 2014-8-13 12:00:31

怎么解决的啊,,我正找
页: [1]
查看完整版本: 【已解决】动态下载地址如何下载文件