我想用PyQt发送httpget请求。在
尽管我进行了研究,但我还没有在python中找到任何这种简单操作的例子。在
我最终得到了一些代码(我根据Bakuriu在评论中给出的提示修改了这些代码),但是它不起作用。假设我想向facebook网页发出get请求,并打印出答案,这应该是页面的HTML内容。在
from PyQt4 import QtCore, QtNetwork, QtCore, QtGui
from PyQt4.QtCore import *
import sys
from functools import partial
def printContent():
answerAsText = QString(replyObject.readAll())
print answerAsText
app = QtCore.QCoreApplication(sys.argv)
url = QtCore.QUrl("http://www.facebook.com")
request = QtNetwork.QNetworkRequest()
request.setUrl(url)
manager = QtNetwork.QNetworkAccessManager()
replyObject = manager.get(request)
replyObject.finished.connect(printContent)
sys.exit(app.exec_())
这不会产生任何错误,只是不会打印任何内容。 我不知道问题出在哪里: 我的要求错了吗? 还是我处理回复对象的方式?在
为什么不管用?有人能给我看一个有效的代码吗?在
我们需要创建一个
QApplication
或QtCoreApplication
,因为我们使用的是信号和插槽机制。还请注意,响应必须从QByteArray
解码。在下面是一个工作示例:
如果您运行这个应用程序,您将得到一个非常简单的网页的HTML代码(www.something.com网站). 在
看起来URL示例不好。尝试www.google.com。我已经为PyQt5修改了你的代码。它起作用了。在
相关问题 更多 >
编程相关推荐