gpt4 book ai didi

python - 发送添加了用户代理的 QHTTP 请求

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:26 27 4
gpt4 key购买 nike

发送添加了用户代理的 QHTTP 请求

C:\Python33\Lib\site-packages\PyQt4\examples\network\http 中有一个示例

但是我想在http请求中添加User-Agent header,所以我评论了

##        self.httpGetId = self.http.get(path, self.outFile)

并编写以下代码

header = QtNetwork.QHttpRequestHeader("GET", path)#1
header.setValue("Host", url.host())
header.setValue('User-Agent' ,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17')

self.http.setHost(url.host())

那么问题来了,我不知道如何发送这个带有header的请求到服务器?

附注我引用了文档,也许找到了

int QHttp::request ( const QHttpRequestHeader & header, QIODevice * data = 0, QIODevice * to = 0 )

会来帮助我解决这个问题,但我想知道在这种情况下“数据”应该是什么?

最佳答案

使用 QNetworkAcessManager发送您的请求,如下所示:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from PyQt4 import QtCore, QtNetwork

if __name__ == '__main__':
import sys

print "Starting request...",

app = QtCore.QCoreApplication(sys.argv)
url = QtCore.QUrl("http://www.example.com/")

request = QtNetwork.QNetworkRequest()
request.setUrl(url)
request.setRawHeader("User-Agent", "MyAppName/1.0 (Nokia; Qt)")

manager = QtNetwork.QNetworkAccessManager()
manager.finished.connect(app.quit)
manager.get(request)

print "done."

sys.exit(app.exec_())

关于python - 发送添加了用户代理的 QHTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com