PyQT5 为什么get请求响应总是null
PyQT5 why the get request response is always null
我以前用过requests
模块,今天我尝试向服务器发送一个get
请求来获取一个JSON使用 QtNetwork
模块的数据。一切正常,但回复始终为空。我搜索了这个案例,但运气不好,没有找到任何成功的解决方案。
代码如下:
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
reply = self.manager.get(request)
responseData = reply.readAll()
print(responseData)
if reply.error() == QNetworkReply.NoError:
print('Success')
else:
print('Error')
输出为:
b' '
Success
我尝试将 URL 更改为 Google,但重播仍然是 null.Then 我尝试了代码 self.manager.finished.connect(self.handleDone)
,并执行 readAll()
方法handleDone
。不幸的是,这种现象仍然存在。
Could you please tell me how to fix it? Any suggestion is appreciated. Thanks
Qt中的请求是异步的,不像库中的请求,就是等同步任务完成了再做,所以你要数据的时候还没有请求,所以数据是空的,并且您假设它们是同步的,可能的解决方案是使用 QEventLoop。
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
reply = self.manager.get(request)
loop = QtCore.QEventLoop()
reply.finished.connect(loop.quit)
loop.exec_()
responseData = reply.readAll()
print(responseData)
if reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
输出:
b'{"result_message":"\xe7\x94\x9f\xe6\x88\x90\xe9\xaa\x8c\xe8\xaf\x81\xe7\xa0\x81\xe6\x88\x90\xe5\x8a\x9f","result_code":"0","image":"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"}'
Success
更新:
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
self.reply = self.manager.get(request)
self.reply.finished.connect(self.handleDone)
def handleDone(self):
responseData = self.reply.readAll()
print(responseData)
if self.reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
QtCore.QCoreApplication.quit()
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
sys.exit(app.exec_())
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.manager.finished.connect(self.handleDone)
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
self.reply = self.manager.get(request)
def handleDone(self):
responseData = self.reply.readAll()
print(responseData)
if self.reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
QtCore.QCoreApplication.quit()
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
sys.exit(app.exec_())
我以前用过requests
模块,今天我尝试向服务器发送一个get
请求来获取一个JSON使用 QtNetwork
模块的数据。一切正常,但回复始终为空。我搜索了这个案例,但运气不好,没有找到任何成功的解决方案。
代码如下:
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
reply = self.manager.get(request)
responseData = reply.readAll()
print(responseData)
if reply.error() == QNetworkReply.NoError:
print('Success')
else:
print('Error')
输出为:
b' '
Success
我尝试将 URL 更改为 Google,但重播仍然是 null.Then 我尝试了代码 self.manager.finished.connect(self.handleDone)
,并执行 readAll()
方法handleDone
。不幸的是,这种现象仍然存在。
Could you please tell me how to fix it? Any suggestion is appreciated. Thanks
Qt中的请求是异步的,不像库中的请求,就是等同步任务完成了再做,所以你要数据的时候还没有请求,所以数据是空的,并且您假设它们是同步的,可能的解决方案是使用 QEventLoop。
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
reply = self.manager.get(request)
loop = QtCore.QEventLoop()
reply.finished.connect(loop.quit)
loop.exec_()
responseData = reply.readAll()
print(responseData)
if reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
输出:
b'{"result_message":"\xe7\x94\x9f\xe6\x88\x90\xe9\xaa\x8c\xe8\xaf\x81\xe7\xa0\x81\xe6\x88\x90\xe5\x8a\x9f","result_code":"0","image":"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"}'
Success
更新:
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
self.reply = self.manager.get(request)
self.reply.finished.connect(self.handleDone)
def handleDone(self):
responseData = self.reply.readAll()
print(responseData)
if self.reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
QtCore.QCoreApplication.quit()
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
sys.exit(app.exec_())
from PyQt5 import QtCore, QtNetwork
class ImageCode():
def __init__(self):
self.url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand'
self.userAgent = b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
self.manager = QtNetwork.QNetworkAccessManager()
self.manager.finished.connect(self.handleDone)
self.getCheckImage()
def getCheckImage(self):
request = QtNetwork.QNetworkRequest(QtCore.QUrl(self.url))
request.setRawHeader(b'User-Agent', self.userAgent)
self.reply = self.manager.get(request)
def handleDone(self):
responseData = self.reply.readAll()
print(responseData)
if self.reply.error() == QtNetwork.QNetworkReply.NoError:
print('Success')
else:
print('Error')
QtCore.QCoreApplication.quit()
if __name__ == '__main__':
import sys
app = QtCore.QCoreApplication(sys.argv)
o = ImageCode()
sys.exit(app.exec_())