首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成图像的QNetworkRequest

生成图像的QNetworkRequest
EN

Stack Overflow用户
提问于 2017-01-18 06:21:12
回答 1查看 518关注 0票数 0

我正在编写一个脚本,让用户重新下载图像,使其始终具有最新版本。这对于一些我在谷歌上找到的静态图片来说很好。但是,当我试图在生成的图像另一个上使用它时,它会返回我的HTML代码:

代码语言:javascript
复制
Error: 0 (Unknown error)
Content-Type: text/html
Content: <html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

到目前为止我的代码是:

代码语言:javascript
复制
def onNetworkReply(self, reply):
    try:
        print("Error: %s (%s)"%(reply.error(), reply.errorString()))
        print("Content-Type: %s"%reply.header(QNetworkRequest.ContentTypeHeader))
        print("Content: %s"%reply.readAll())
        #if reply.header(QNetworkRequest.ContentTypeHeader) == "image/jpeg":
        imgraw = reply.readAll()#.data()#.decode('utf-8')
        temp_dir = gettempdir()
        filename = self.generateAvatarFileName(self.schid)
        tmp = path.join(temp_dir, filename)
        fn = QFile(tmp)
        fn.open(QIODevice.WriteOnly)
        fn.write(imgraw)
        fn.close
        #with open(tmp, 'wb') as f: f.write(imgraw)
        ts3lib.logMessage("Uploading %s as new avatar."%tmp, ts3defines.LogLevel.LogLevel_INFO, "PyTSon Script", 0)
        self.uploadAvatar(self.schid, tmp, filename)
    except:
        from traceback import format_exc
        try: ts3lib.logMessage(format_exc(), ts3defines.LogLevel.LogLevel_ERROR, "PyTSon Script", 0)
        except: print(format_exc())
    reply.deleteLater()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-18 11:12:44

HTTP响应发现302是URL重定向状态。如果使用QT5.6或更高版本,可以在QNetworkRequest中启用自动重定向(QNetworkRequest::FollowRedirectsAttribute)。

代码语言:javascript
复制
QString url("http://your/url/pic.png");
QNetworkRequest req(QUrl(url));
req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);

QNetworkRequest::FollowRedirectsAttribute 仅请求类型: QMetaType::Bool (默认值: false)指示Network是否应自动遵循HTTP重定向响应。目前不允许不安全的重定向,即从"https“重定向到"http”协议。(这个数值是在5.6中提出的。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41712636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档