Mit Qt können Sie einen Benutzeragenten basierend auf der URL anstelle eines einzelnen Benutzeragenten bereitstellen, unabhängig von der URL. Die Idee, dann ist der User-Agent jederzeit eine neue Webseite zurückkehren erstellt:
class UserAgentWebPage : public QWebPage {
QString userAgentForUrl(const QUrl &url) const {
return QString("My User Agent");
}
};
Um diese Seite anstelle der Standard-Seite zu verwenden, die erstellt wird, können Sie die Seite im Browser Steuerobjekt festlegen können vor der die Anfrage:
yourWebView->setPage(new UserAgentWebPage(parent));
ich tatsächlich eine Fabrik erwarten würde vorhanden irgendwo sein, die garantieren, dass die Webseite immer eines bestimmten Typs erstellt ist, aber ich sah man nicht.
Dennoch sollte eine weitere Option sein, die User-Agenten-Header innerhalb der QNetworkRequest einzustellen:
QNetworkRequest request = new QNetworkRequest();
request->setRawHeader(
QString("User-Agent").toAscii(),
QString("Your User Agent").toAscii()
);
// ... set the URL, etc.
yourWebView->load(request);
Sie würden wollen, tatsächlich prüfen, ob es toAscii()
oder toUtf8()
oder eine der anderen Varianten ist, wie ich bin nicht sicher, genau was der HTTP-Standard erlaubt.
Dank Kaleb! Das habe ich gesucht. –