QNetworkAccessManager和QHttp比较

在Qt中QNetworkAccessManager主要用于复杂情况下的QWebView使用,比如存在代理服务器的情况。

QNetworkAccessManager也提供类似QHttp的Get方法。
于是我想当然的认为QNetworkAccessManager能够比QHttp更方便的获取网络资源。然而一个简单的例子伤了我的心:

下载部分代码如下:

 

QByteArray& Download::download(const QString &url)
{
    m_finished 
= false;
    m_manager
->get(QNetworkRequest(QUrl(url)));
    
while (!m_finished)
        QApplication::instance()
->processEvents();
    
return m_result;
}

下载 http://www.g.cn/favicon.ico的返回结果如下:

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<HREF="http://www.google.cn/favicon.ico">here</A>.

</BODY></HTML>

 也就是QNetworkAccessManager仅处理简单的一次交互,完整的交互过程需要用户实现。

虽然统一使用QNetworkAccessManager能够在技术上保持平滑一致。
我还是不得不区别对待两种情况下的网络访问——同时使用QHttp和QNetworkAccessManager

posted on 2009-04-04 21:09 吴俊玉 阅读(4290) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论