PyQt4: извлечь значения из rawHeaderList - PullRequest
1 голос
/ 17 апреля 2011

Я хочу прочитать заголовки из rawHeaderList, используя QNetworkReply, как выполнить это действие? Я пытаюсь повторить, но он говорит, что QNetworkRaply объект не повторяется, простая печать говорит <PyQt4.QtNetwork.QNetworkReply object at 0x1837958>.

Вот мой код


...
request = QNetworkRequest(QUrl('http://www.kg'))
manager = QNetworkAccessManager()

reply = manager.get(request)

'''
How to get the list of headers?
'''

Sultan

1 Ответ

2 голосов
/ 17 апреля 2011

много способов. Вы можете использовать reply.rawHeaderPairs(), например:

import pprint, sys
from PyQt4 import QtCore, QtNetwork

app = QtCore.QCoreApplication(sys.argv)
request = QtNetwork.QNetworkRequest(QtCore.QUrl("http://stackoverflow.com"))
manager = QtNetwork.QNetworkAccessManager()
reply = manager.get(request)
while not reply.isFinished():
    app.processEvents()

try:
    # for Qt 4.7 and higher:
    pprint.pprint(reply.rawHeaderPairs())
except AttributeError:
    # for Qt < 4.7:
    for header in reply.rawHeaderList():
        pprint.pprint((header, reply.rawHeader(header)))

См. Также QNetworkReply документацию, особенно rawHeader, rawHeaderList, header и другие методы.

Редактировать заметку: я обновил пример, чтобы сделать его совместимым со старыми версиями Qt / PyQt (до 4.7).

...