bool KWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type) { kDebug(800) << "url:" << request.url() << ", type:" << type << ", frame:" << frame; if (frame && d->wallet && type == QWebPage::NavigationTypeFormSubmitted) d->wallet->saveFormData(frame); // Make sure nothing is cached when private browsing mode is enabled... if (settings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { if (!d->inPrivateBrowsingMode) { setDisableCookieJarStorage(networkAccessManager(), true); setSessionMetaData(QL1S("no-cache"), QL1S("true")); d->inPrivateBrowsingMode = true; } } else { if (d->inPrivateBrowsingMode) { setDisableCookieJarStorage(networkAccessManager(), false); removeSessionMetaData(QL1S("no-cache")); d->inPrivateBrowsingMode = false; } } /* If the navigation request is from the main frame, set the cross-domain meta-data value to the current url for proper integration with KCookieJar... */ if (frame == mainFrame() && type != QWebPage::NavigationTypeReload) setSessionMetaData(QL1S("cross-domain"), request.url().toString()); return QWebPage::acceptNavigationRequest(frame, request, type); }
void WebPuppeteerTab::waitFinish(int idle) { QEventLoop e; TimeoutTrigger t(idle); connect(&t, SIGNAL(timeout()), &e, SLOT(quit())); connect(networkAccessManager(), SIGNAL(started()), &t, SLOT(start())); connect(networkAccessManager(), SIGNAL(allFinished()), &t, SLOT(end())); // if something pending, stop timer if (static_cast<WebPuppeteerTabNetSpy*>(networkAccessManager())->getCount() > 0) t.start(); e.exec(); }
void SolveMediaRecaptchaPlugin::getCaptcha(const QString &captchaKey) { QUrl url("http://api.solvemedia.com/papi/_challenge.js?k=" + captchaKey); QNetworkRequest request(url); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(onCaptchaDownloaded())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void GoogleRecaptchaPlugin::getCaptcha(const QString &captchaKey) { QUrl url("http://www.google.com/recaptcha/api/challenge?k=" + captchaKey); QNetworkRequest request(url); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(onCaptchaDownloaded())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void MixtureCloud::getDownloadRequest(const QUrl &webUrl) { emit statusChanged(Connecting); QNetworkRequest request(webUrl); QNetworkReply *reply = networkAccessManager()->get(request); this->connect(reply, SIGNAL(finished()), this, SLOT(onWebPageDownloaded())); this->connect(this, SIGNAL(currentOperationCancelled()), reply, SLOT(deleteLater())); }
WebPage::WebPage(QObject *parent) { settings()->setAttribute(QWebSettings::LocalStorageEnabled, true); settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, true); settings()->setAttribute(QWebSettings::DnsPrefetchEnabled, true); settings()->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); settings()->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); settings()->enablePersistentStorage(QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/holadesk"); settings()->setOfflineStorageDefaultQuota(932838457459459); //settings()->setOfflineStoragePath(QFileInfo(settings->fileName()).absolutePath() + "/"); settings()->setOfflineStoragePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/holadesk"); settings()->setOfflineWebApplicationCachePath(QDesktopServices::storageLocation(QDesktopServices::CacheLocation)); settings()->setOfflineWebApplicationCacheQuota(932838457459459); settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true); settings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, true); cookieJar = new CookieJar(); networkAccessManager()->setCookieJar(cookieJar); native = new Native(this); }
bool KWebPage::isExternalContentAllowed() const { KIO::AccessManager *manager = qobject_cast<KIO::AccessManager*>(networkAccessManager()); if (manager) return manager->isExternalContentAllowed(); return true; }
void QXmlSchemaPrivate::load(QIODevice *source, const QUrl &documentUri, const QString &targetNamespace) { m_schemaParserContext = QPatternist::XsdSchemaParserContext::Ptr(new QPatternist::XsdSchemaParserContext(m_namePool.d, m_schemaContext)); m_schemaIsValid = false; if (!source) { qWarning("A null QIODevice pointer cannot be passed."); return; } if (!source->isReadable()) { qWarning("The device must be readable."); return; } m_documentUri = QPatternist::XPathHelper::normalizeQueryURI(documentUri); m_schemaContext->setMessageHandler(messageHandler()); m_schemaContext->setUriResolver(uriResolver()); m_schemaContext->setNetworkAccessManager(networkAccessManager()); QPatternist::XsdSchemaParser parser(m_schemaContext, m_schemaParserContext, source); parser.setDocumentURI(documentUri); parser.setTargetNamespace(targetNamespace); try { parser.parse(); m_schemaParserContext->resolver()->resolve(); m_schemaIsValid = true; } catch (QPatternist::Exception exception) { Q_UNUSED(exception); m_schemaIsValid = false; } }
PHIImageRequest::PHIImageRequest( QObject *parent, const QUrl &url, int num ) : QObject( parent ), _reply( 0 ), _num( num ) { QNetworkAccessManager *nam=networkAccessManager(); QNetworkRequest req( url ); _reply=nam->get( req ); connect( _reply, &QNetworkReply::finished, this, &PHIImageRequest::slotFinished ); }
void PublishToMePlugin::followRedirect(const QUrl &url, const char* slot) { m_redirects++; QNetworkRequest request(url); request.setRawHeader("Accept-Language", "en-GB,en-US;q=0.8,en;q=0.6"); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, slot); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
CookieJar *BrowserApplication::cookieJar() { #if defined(QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) return (CookieJar*)networkAccessManager()->cookieJar(); #else return 0; #endif }
void PublishToMePlugin::checkUrl(const QString &url, const QVariantMap &) { m_redirects = 0; QNetworkRequest request(QUrl::fromUserInput(url)); request.setRawHeader("Accept-Language", "en-GB,en-US;q=0.8,en;q=0.6"); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(checkUrlIsValid())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void SolveMediaRecaptchaPlugin::downloadCaptchaImage(const QString &challenge) { m_challenge = challenge; QUrl url("http://api.solvemedia.com/papi/media?c=" + challenge); QNetworkRequest request(url); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(onCaptchaImageDownloaded())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void WebPage::applyProxy() { QUrl proxyUrl(qgetenv("http_proxy")); if (proxyUrl.isValid() && !proxyUrl.host().isEmpty()) { int proxyPort = (proxyUrl.port() > 0) ? proxyUrl.port() : 8080; networkAccessManager()->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxyUrl.host(), proxyPort)); } }
QNetworkReply *NetworkAccessManagerProxy::httpPost(const QString &link, const QByteArray &data) { QUrl url(link); QNetworkRequest r(url); // Required for Qt 4.8 r.setHeader(QNetworkRequest::ContentTypeHeader, QVariant(QByteArray("application/x-www-form-urlencoded"))); return networkAccessManager()->post(r, data); }
void SidebarPrivate::linkClickedFinished() { QNetworkReply * reply = static_cast< QNetworkReply * >(sender()); QString target = reply->property("__target").toString(); QVariant redirectsVariant = reply->property("__redirects"); int redirects = redirectsVariant.isNull() ? 20 : redirectsVariant.toInt(); // Redirect? QUrl redirectedUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); if (redirectedUrl.isValid()) { if (redirectedUrl.isRelative()) { QUrl oldUrl = reply->url(); redirectedUrl.setScheme(oldUrl.scheme()); redirectedUrl.setAuthority(oldUrl.authority()); } if (redirects > 0) { QNetworkRequest request = reply->request(); request.setUrl(redirectedUrl); QNetworkReply * reply = networkAccessManager()->get(request); reply->setProperty("__target", target); connect(reply, SIGNAL(finished()), this, SLOT(linkClickedFinished())); } else { // TOO MANY REDIRECTS } reply->deleteLater(); return; } // Check headers... if PDF then launch a new window, otherwise give it to the OS QString contentType(reply->header(QNetworkRequest::ContentTypeHeader).toString()); if (contentType.contains("application/pdf")) { emit urlRequested(reply->request().url(), "tab"); } else { QUrl href(reply->request().url()); if (href.isValid()) { if (href.scheme() == "http" || href.scheme() == "https") { if (target == "sidebar") { webView->setUrl(href); slideLayout->push("web"); return; } } QDesktopServices::openUrl(href); } // FIXME error } reply->deleteLater(); }
void XMLHttpRequest::followRedirect(const QUrl &url) { Logger::log("XMLHttpRequest::followRedirect(): URL: " + url.toString()); m_redirects++; m_response = QByteArray(); m_reply = networkAccessManager()->get(QNetworkRequest(url)); setReadyState(OPENED); connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(onReplyMetaDataChanged())); connect(m_reply, SIGNAL(readyRead()), this, SLOT(onReplyReadyRead())); connect(m_reply, SIGNAL(finished()), this, SLOT(onReplyFinished())); }
RecaptchaPlugin* RecaptchaPluginManager::createPluginById(const QString &id, QObject *parent) { if (RecaptchaPluginFactory *factory = getFactoryById(id)) { if (RecaptchaPlugin *plugin = factory->createPlugin(parent)) { plugin->setNetworkAccessManager(networkAccessManager()); return plugin; } } return 0; }
void PublishToMePlugin::getDownloadLink() { m_redirects = 0; QNetworkRequest request(m_url); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setRawHeader("Referer", m_url.toString().toUtf8()); request.setRawHeader("X-Requested-With", "XMLHttpRequest"); QNetworkReply *reply = networkAccessManager()->post(request, "free=1&uniqueId=" + m_fileId.toUtf8()); connect(reply, SIGNAL(finished()), this, SLOT(checkDownloadLink())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void PublishToMePlugin::login(const QString &username, const QString &password) { m_redirects = 0; const QString data = QString("LoginForm[username]=%1&LoginForm[password]=%2").arg(username).arg(password); QNetworkRequest request(LOGIN_URL); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setRawHeader("X-Requested-With", "XMLHttpRequest"); QNetworkReply *reply = networkAccessManager()->post(request, data.toUtf8()); connect(reply, SIGNAL(finished()), this, SLOT(checkLogin())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
ServicePlugin* ServicePluginManager::createPluginByUrl(const QString &url, QObject *parent) { if (ServicePluginFactory *factory = getFactoryByUrl(url)) { if (ServicePlugin *plugin = factory->createPlugin(parent)) { plugin->setNetworkAccessManager(networkAccessManager()); return plugin; } } return 0; }
void MybbFeedRequest::followRedirect(const QUrl &url, const char *slot) { #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::followRedirect(). URL:" << url; #endif m_redirects++; QNetworkRequest request(url); request.setRawHeader("User-Agent", USER_AGENT); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, slot); connect(this, SIGNAL(finished(FeedRequest*)), reply, SLOT(deleteLater())); }
void SidebarPrivate::linkClicked(const QUrl & href, const QString & target) { if (target == "sidebar") { QNetworkRequest request(href); request.setRawHeader("User-Agent", webView->userAgentForUrl(href).toUtf8()); QNetworkReply * reply = networkAccessManager()->get(request); reply->setProperty("__target", target); connect(reply, SIGNAL(finished()), this, SLOT(linkClickedFinished())); } else { emit urlRequested(href, target); } }
void SolveMediaRecaptchaPlugin::getCaptcha(int captchaType, const QString &captchaKey, const QVariantMap &) { if (captchaType != CaptchaType::Image) { error(tr("Captcha type %1 not supported").arg(captchaType)); return; } QUrl url(CAPTCHA_CHALLENGE_URL + captchaKey); QNetworkRequest request(url); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(onCaptchaDownloaded())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void RequestPrivate::followRedirect(const QUrl &redirect) { Q_Q(Request); redirects++; if (reply) { delete reply; } reply = networkAccessManager()->get(buildRequest(redirect)); Request::connect(reply, SIGNAL(finished()), q, SLOT(_q_onReplyFinished())); }
void MybbFeedRequest::login(const QUrl &url, const QString &username, const QString &password) { #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::login(). URL:" << url << "Username:"******"Password:"******"quick_username=%1&quick_password=%2&s=&action=do_login&quick_login=1&submit=Login").arg(username).arg(password); QNetworkRequest request(url); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setRawHeader("User-Agent", USER_AGENT); QNetworkReply *reply = networkAccessManager()->post(request, data.toUtf8()); connect(reply, SIGNAL(finished()), this, SLOT(checkLogin())); connect(this, SIGNAL(finished(FeedRequest*)), reply, SLOT(deleteLater())); }
void WebPage::setQnamThreaded(bool threaded) { bool alreadyThreaded = networkAccessManager()->thread() != thread(); if (threaded == alreadyThreaded) return; if (threaded) { m_qnamThread.reset(new QtNAMThread); m_qnamThread->start(); setNetworkAccessManager(m_qnamThread->networkAccessManager()); } else { setNetworkAccessManager(0); m_qnamThread.reset(); } Qt::ConnectionType connectionType = threaded ? Qt::BlockingQueuedConnection : Qt::DirectConnection; connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*)), connectionType); applyProxy(); }
WebPuppeteerTab::WebPuppeteerTab(WebPuppeteer *_parent): QWebPage(_parent) { parent = _parent; // define standard values setViewportSize(QSize(1024,768)); setForwardUnsupportedContent(true); setNetworkAccessManager(new WebPuppeteerTabNetSpy(this)); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(downloadFile(QNetworkReply*))); connect(networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*,const QList<QSslError>&)), this, SLOT(handleSslErrors(QNetworkReply*,const QList<QSslError>&))); }
void PublishToMePlugin::submitCaptchaResponse(const QString &, const QString &response) { m_redirects = 0; const QString data = QString("CaptchaForm[code]=%1&free=1&freeDownloadRequest=1&uniqueId=%2").arg(response) .arg(m_fileId); QNetworkRequest request(m_url); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setRawHeader("Referer", m_url.toString().toUtf8()); request.setRawHeader("X-Requested-With", "XMLHttpRequest"); QNetworkReply *reply = networkAccessManager()->post(request, data.toUtf8()); connect(reply, SIGNAL(finished()), this, SLOT(checkCaptcha())); connect(this, SIGNAL(currentOperationCanceled()), reply, SLOT(deleteLater())); }
void QXmlSchemaPrivate::load(const QUrl &source, const QString &targetNamespace) { m_documentUri = QPatternist::XPathHelper::normalizeQueryURI(source); m_schemaContext->setMessageHandler(messageHandler()); m_schemaContext->setUriResolver(uriResolver()); m_schemaContext->setNetworkAccessManager(networkAccessManager()); const QPatternist::AutoPtr<QNetworkReply> reply(QPatternist::AccelTreeResourceLoader::load(source, m_schemaContext->networkAccessManager(), m_schemaContext, QPatternist::AccelTreeResourceLoader::ContinueOnError)); if (reply) load(reply.data(), source, targetNamespace); }