如何捕获这样的文件下载

bborn 2008-06-12 05:10:25
地址类似这样 http://www.baidu.com/music.mp3
返回的样式如下

Content-type: file
Content-Disposition: attachment; filename="9.mp3"

这样的地址用 bho 也得不到正确的url
我想截获这个下载 该如何做了?
...全文
118 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bborn 2008-06-14
to jameshooo

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q260840#appliesto

msdn 上这个IInternetProtocol的例子怎么无法正常工作

dll 都不会被load

已经注册了 注册表中也可以看到
  • 打赏
  • 举报
回复
cppwin 2008-06-14
比较奇怪.
何不把该url贴出来?
http://www.baidu.com/wf/ --- 这个是无效滴
  • 打赏
  • 举报
回复
bborn 2008-06-13
有没有具体例子能看下
对这些不太熟悉
  • 打赏
  • 举报
回复
rageliu 2008-06-13
[Quote=引用 3 楼 bborn 的回复:]
说错了一点 地址是这样的
http://www.baidu.com/wf/

返回的如上
没有3xx


[/Quote]

确定包抓全了吗?没有结果代码号?不应该吧
  • 打赏
  • 举报
回复
jameshooo 2008-06-13
BeforeNavigate2确实不保险,很多情况它不被调用。用命名空间过滤器解决吧。
  • 打赏
  • 举报
回复
bborn 2008-06-13
to jameshooo

BeforeNavigate2中得到的url 还是我输入的url 不是转向的
  • 打赏
  • 举报
回复
蒋晟 2008-06-12
server肯定根据session来重定向了,通常session id都在cookie里面。
你可以在IDownloadManager::Download里面得到http header,在BHO里面访问DOM得到cookie。
  • 打赏
  • 举报
回复
jameshooo 2008-06-12
2楼是在问你HTTP响应码是否表示需要重定向,如果重定向就需要按照重新发送新的URL请求。

如果是BHO,不需要分析HTTP响应码,有两种方式可以捕获正确的URL:
1、挂接浏览器接口的DWebBrowserEvents2事件,在BeforeNavigate2中截获URL;
2、实现一个命名空间过滤器IInternetProtocolRoot,在Start里面捕获URL。
  • 打赏
  • 举报
回复
bborn 2008-06-12
说错了一点 地址是这样的
http://www.baidu.com/wf/

返回的如上
没有3xx

  • 打赏
  • 举报
回复
rageliu 2008-06-12
为什么返回的是:9.mp3
也就是说http://www.baidu.com/music.mp3不是真正的地址?
返回值是否是3XX?
  • 打赏
  • 举报
回复
yjgx007 2008-06-12
InternetReadFile不行吗?
  • 打赏
  • 举报
回复
发帖
ATL

3233

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
帖子事件
创建了帖子
2008-06-12 05:10
社区公告
暂无公告