Seite 1 von 1

Sourcecode einer Website abfragen - Zugriffsbeschränkung

Verfasst: 17. Februar 2010 23:34
von superkarnickel
Einen wunderschönen guten Abend,
ich habe bereits ein Klasse geschrieben, welche den HTML Sourcecode einer Seite abrufen kann.
Wenn ich den Quelltext von http://images.google.de/[...] abfrage, wird mir jedoch ein leerer QString zurückgegeben (andere Seiten funktionieren).
Da ich das selbe Programm bereits in Java geschrieben habe und dort das selbe Problem hatte, weiß ich, dass dies daran liegt, dass Google nur Browsern den Inhalt ihrer Seiten zugänglich machen möchte und deshalb den Request nicht beantwortet. In Java kann man sich mit folgendem Befehl als Browser "tarnen":

Code: Alles auswählen

urlConnection.addRequestProperty("User-Agent", "Mozilla/4.76");
Meine Frage ist nun, ob es einen äquivalenten Befehl oder eine andere Möglichkeit dafür in Qt4 gibt.

Vielen Dank für's Lesen und Beantworten,
Grüße,

superkarnickel

Verfasst: 18. Februar 2010 08:28
von pfid
Ist das nicht ne Property, die einfach im HTTP Request Header übertragen wird? *mit halbwissen um sich wirft*

Die müsste man hier setzen können:
http://qt.nokia.com/doc/4.5/qnetworkrequest.html

Verfasst: 18. Februar 2010 12:42
von TSS
Aus der Doku von QNetworkAccessManager:

Code: Alles auswählen

QNetworkRequest request;
 request.setUrl(QUrl("http://qt.nokia.com"));
 request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");

 QNetworkReply *reply = manager->get(request);
 connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
 connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
         this, SLOT(slotError(QNetworkReply::NetworkError)));
 connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
         this, SLOT(slotSslErrors(QList<QSslError>)));
http://qt.nokia.com/doc/4.6/qnetworkaccessmanager.html

Gelöst

Verfasst: 18. Februar 2010 17:18
von superkarnickel
Ich bin blind...
Danke für die schnelle und gute Antwort :).