Sourcecode einer Website abfragen - Zugriffsbeschränkung

Alles rund um die Programmierung mit Qt
Antworten
superkarnickel
Beiträge: 13
Registriert: 17. Februar 2010 18:51

Sourcecode einer Website abfragen - Zugriffsbeschränkung

Beitrag 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
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag 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
TSS
Beiträge: 73
Registriert: 24. November 2009 15:40
Kontaktdaten:

Beitrag 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
superkarnickel
Beiträge: 13
Registriert: 17. Februar 2010 18:51

Gelöst

Beitrag von superkarnickel »

Ich bin blind...
Danke für die schnelle und gute Antwort :).
Antworten