找回密码
 立即注册
收起左侧

关于Qwebview显示网页,并执行下载问题

10
回复
15845
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2013-12-5 16:18:02 显示全部楼层 |阅读模式
5Qter豆
       我用Qwebview显示了一个网页,这个网页上有个下载链接,我现在想单击这条下载链接,下载链接内容。其中有个下载请求信号连接如下:
connect(view->page(), SIGNAL(downloadRequested(const QNetworkRequest&)), this, SLOT(download(const QNetworkRequest&)));
这个当有网页链接请求时,会触发下载,void TabPage::download(const QNetworkRequest &requset)我将reply获得信息写入到Qfile里,有两个问题想问问:
        1、SIGNAL(downloadRequested(const QNetworkRequest&)),这个信号单击下载链接时无法触发,必须要在Qwebview右键save操作时才能够触发。这个问题如何解决?
        2、Qt 开源浏览器,Qtweb中浏览网页下载网页链接,当网页链接是需要注册扣除积分才能下载的链接时,单击下载链接会跳转到找不到链接,但是积分已经扣除,而基于Qt的另一个浏览器QupZilla在这方面没有问题,但是QupZilla项目太复杂,完全理不清,希望老大们能够给初学者点支持!如何解决Qwebview下载问题!

最佳答案

查看完整内容

其实那个不用管它,content type一般在有特殊需求才会用到,首先你要获得你的请求的http code响应码,用以下代码: QNetworkReply:: attribute(QNetworkRequest::HttpStatusCodeAttribute) 会返回200,202, 302这些代码(首先你要理解这些代码的含义),如果真的遇到302,那就是遇到重定向了再用以下代码获取: QNetworkReply:: attribute(QNetworkRequest::RedirectionTargetAttribute) 还要注意这个地址可能还会跳转,需要循 ...
回复

使用道具 举报

尚未签到

2013-12-5 16:18:03 显示全部楼层
wxl91sl 发表于 2013-12-6 14:13
老大!能不能具体一点!获取http 头文件?重定向处理,该怎么操作content-type missing in HTTP POST, de ...

其实那个不用管它,content type一般在有特殊需求才会用到,首先你要获得你的请求的http code响应码,用以下代码:
QNetworkReply:: attribute(QNetworkRequest::HttpStatusCodeAttribute)
会返回200,202, 302这些代码(首先你要理解这些代码的含义),如果真的遇到302,那就是遇到重定向了再用以下代码获取:
QNetworkReply:: attribute(QNetworkRequest::RedirectionTargetAttribute)
还要注意这个地址可能还会跳转,需要循环处理这个返回的地址一直到没有跳转为止。
回复

使用道具 举报

尚未签到

2013-12-5 17:52:31 显示全部楼层
你说的那个信号没有触发,那就有可能是触发了另一个信号,这个可能是linkactivated,因为很多网站都会使用跳转,也就是说,你要检测有没有收到http 302 重定向,如果有,加载新的地址,这个新地址才有可能会触发download信号。
回复

使用道具 举报

累计签到:94 天
连续签到:1 天
2013-12-6 12:56:43 显示全部楼层
围观!还在学习基础~~~
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2013-12-6 14:13:51 显示全部楼层
Joey_Chan 发表于 2013-12-5 17:52
你说的那个信号没有触发,那就有可能是触发了另一个信号,这个可能是linkactivated,因为很多网站都会使用 ...

老大!能不能具体一点!获取http 头文件?重定向处理,该怎么操作content-type missing in HTTP POST, defaulting to application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() to fix this problem.这个是打击下载链接跳出的 应用台提示,我就卡在这!ry78 这是我做好的浏览器,可以实现单击链接在新的标签页显示网页!里面还包含了右击save 下载链接文件,老大要是有时间教教我怎么做的!小弟对这块不清楚卡在这好久了,看能不能实现单击下载链接文件!!
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2013-12-6 16:29:00 显示全部楼层
{:soso_e163:}我试试!膜拜下
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2015-2-10 15:32:27 显示全部楼层
Joey_Chan 发表于 2013-12-5 16:18
其实那个不用管它,content type一般在有特殊需求才会用到,首先你要获得你的请求的http code响应码,用 ...

如何循环处理QNetworkReply:: attribute(QNetworkRequest::RedirectionTargetAttribute)的返回地址,通过什么来判断没有跳转
回复

使用道具 举报

尚未签到

2015-2-10 20:18:27 显示全部楼层
zimmer 发表于 2015-2-10 15:32
如何循环处理QNetworkReply:: attribute(QNetworkRequest::RedirectionTargetAttribute)的返回地址,通过 ...

你就判断有没有这个attribute嘛,有就用这个新地址重新发送一次请求,一直到没有这个attribute为止
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2015-2-11 11:41:35 显示全部楼层
Joey_Chan 发表于 2015-2-10 20:18
你就判断有没有这个attribute嘛,有就用这个新地址重新发送一次请求,一直到没有这个attribute为止 ...

我开始没用循环,连续加了几个attribute,但是显示的跳转地址都是同一个,难道是要每得到一个跳转地址,都要加载一次然后post一下么
回复

使用道具 举报

尚未签到

2015-2-12 10:05:45 显示全部楼层
zimmer 发表于 2015-2-11 11:41
我开始没用循环,连续加了几个attribute,但是显示的跳转地址都是同一个,难道是要每得到一个跳转地址, ...

你拿到新的地址后要重新用这个地址在请求哦。。。怎么可能新地址又提示同一个跳转地址,我最多就见过跳转10次。
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2015-2-12 16:31:14 显示全部楼层
Joey_Chan 发表于 2015-2-12 10:05
你拿到新的地址后要重新用这个地址在请求哦。。。怎么可能新地址又提示同一个跳转地址,我最多就见过跳转 ...

好的,谢谢,我去试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了