搜索
查看: 1546|回复: 4

弹出下载框,如何处理?

[复制链接]

4

主题

12

帖子

95

积分

一级会员

Rank: 2

积分
95
QQ
发表于 2018-3-21 10:09:46 | 显示全部楼层 |阅读模式
var url = "https://www.ciliba.org/Tool/fav";
var wb = web.form( winform ,,0|0x80|0x200|0x400|0x1000|0x80000);
wb.go(url);
wb.wait();
回复

使用道具 举报

4

主题

12

帖子

95

积分

一级会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2018-3-21 10:11:34 | 显示全部楼层
代码是一部分,就是打开网址,就会弹出下载框,后面的代码不执行了
回复

使用道具 举报

12

主题

679

帖子

4008

积分

荣誉会员

子非魚、安知魚之樂

Rank: 8Rank: 8

积分
4008
发表于 2018-3-21 14:00:18 | 显示全部楼层
你这网址 浏览器都是下载
回复

使用道具 举报

4

主题

12

帖子

95

积分

一级会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2018-3-24 10:33:44 | 显示全部楼层
xauto 发表于 2018-3-21 14:00
你这网址 浏览器都是下载

是的,不过如果用 innet.http().get() 的话,就会只获取源码,并且可以得到文件类型,进而判断 它是不是网页,貌似web.form 就不行,找不到好的办法,我目前的处理是 用 innet 先判断一下它的返回的类型,如果不是网页,再用web .form 去请求,这样就存在一个问题,对于某些网站,再次请求就会被屏蔽。
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2018-3-24 13:35:05 | 显示全部楼层
下载对话框用 wb.FileDownload 就可以处理,但不安全的下载会有提示。
inet.http 本来就跟 web.form 是共享会话的,这两个东西可以一起使用。你可以先用inet.http检测HTTP头。

如果你想把 web.form 当 inet.http那样用,那是不行的, 想法有时候不要太完美了。
两次请求的问题,你应该在第一次请求是用head方法而不是直接下载,哪有这么不讲理的网站,head一下就屏蔽你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-15 22:47 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表