Could you please tell me why a GET request to a last.fm web service
URL returns a different result whether I call it from a browser or
from a QNetworkAccessManager?
A specific example would be the following URL:
http://ws.audioscrobbler.com/2.0/?album=American+IV%3A+The+Man+Comes+Around&format=json&autocorrect=1&artist=Johnny+Cash&mbid=261de123-7315-4a2f-8c40-3dad9092313e&api_key=295a01cfa65f9e521bdd2cc3c36d7c89&method=album.getinfo
Pasting it into Google Chrome's address bar produces the expected
album info page.
However, calling the same URL with a QNetworkRequest to a
QNetworkAccessManager returns a response with the following body:
{"error":6,"message":"Album not found"}
Attached is a short program demonstrating this.
Obviously, the program is not making the call correctly. How should I
correct it?
#!/usr/bin/env python2.6
from sip import setapi
setapi("QDate", 2)
setapi("QDateTime", 2)
setapi("QTextStream", 2)
setapi("QTime", 2)
setapi("QVariant", 2)
setapi("QString", 2)
setapi("QUrl", 2)
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication, QMainWindow
from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest
from sys import argv
def main():
app = QApplication(argv)
main = MainWindow()
main.show()
exit(app.exec_())
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.manager = QNetworkAccessManager(self)
request = QNetworkRequest()
request.setUrl(QUrl('http://ws.audioscrobbler.com/2.0/?album=American+IV%3A+The+Man+Comes+Around&format=json&autocorrect=1&artist=Johnny+Cash&mbid=261de123-7315-4a2f-8c40-3dad9092313e&api_key=295a01cfa65f9e521bdd2cc3c36d7c89&method=album.getinfo'))
reply = self.manager.get(request)
reply.finished.connect(self.replyFinished)
def replyFinished(self):
reply = self.sender()
raw = reply.readAll()
print raw
reply.deleteLater()
if __name__ == "__main__":
main()
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt