use same UA for all network stuff in rss guard, also make UA to be more standard format

This commit is contained in:
Martin Rotter 2021-12-16 09:44:42 +01:00
parent 7cf80321bd
commit d001ca6378
6 changed files with 20 additions and 3 deletions

View File

@ -11,7 +11,7 @@ APP_URL = "https://github.com/martinrotter/rssguard"
APP_URL_ISSUES = "https://github.com/martinrotter/rssguard/issues"
APP_URL_ISSUES_NEW = "https://github.com/martinrotter/rssguard/issues/new"
APP_URL_DOCUMENTATION = "https://github.com/martinrotter/rssguard/blob/master/resources/docs/Documentation.md"
APP_USERAGENT = "RSS Guard/$$APP_VERSION (github.com/martinrotter/rssguard)"
APP_USERAGENT = "RSS Guard/$$APP_VERSION"
APP_DONATE_URL = "https://martinrotter.github.io/donate"
message($$MSG_PREFIX: Welcome RSS Guard qmake script.)

View File

@ -26,7 +26,7 @@
<url type="donation">https://github.com/sponsors/martinrotter</url>
<content_rating type="oars-1.1" />
<releases>
<release version="4.0.4" date="2021-12-15"/>
<release version="4.0.4" date="2021-12-16"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -143,6 +143,12 @@
#define DEFAULT_ZOOM_FACTOR 1.0f
#define ZOOM_FACTOR_STEP 0.1f
#if defined(USE_WEBENGINE)
#define HTTP_COMPLETE_USERAGENT (QWebEngineProfile::defaultProfile()->httpUserAgent().toLocal8Bit() + QByteArrayLiteral(" ") + QByteArrayLiteral(APP_USERAGENT))
#else
#define HTTP_COMPLETE_USERAGENT (QByteArrayLiteral(APP_USERAGENT))
#endif
#define INTERNAL_URL_MESSAGE "http://rssguard.message"
#define INTERNAL_URL_BLANK "http://rssguard.blank"
#define INTERNAL_URL_ADBLOCKED "http://rssguard.adblocked"

View File

@ -9,6 +9,10 @@
#include <QNetworkReply>
#include <QNetworkRequest>
#if defined(USE_WEBENGINE)
#include <QWebEngineProfile>
#endif
BaseNetworkAccessManager::BaseNetworkAccessManager(QObject* parent)
: QNetworkAccessManager(parent) {
connect(this, &BaseNetworkAccessManager::sslErrors, this, &BaseNetworkAccessManager::onSslErrors);
@ -61,7 +65,7 @@ QNetworkReply* BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Op
#endif
new_request.setRawHeader(HTTP_HEADERS_COOKIE, QSL("JSESSIONID= ").toLocal8Bit());
new_request.setRawHeader(HTTP_HEADERS_USER_AGENT, QSL(APP_USERAGENT).toLocal8Bit());
new_request.setRawHeader(HTTP_HEADERS_USER_AGENT, HTTP_COMPLETE_USERAGENT);
auto reply = QNetworkAccessManager::createRequest(op, new_request, outgoingData);
return reply;

View File

@ -14,6 +14,8 @@ class CookieJar : public QNetworkCookieJar {
virtual bool insertCookie(const QNetworkCookie& cookie);
virtual bool updateCookie(const QNetworkCookie& cookie);
virtual bool deleteCookie(const QNetworkCookie& cookie);
public:
static QList<QNetworkCookie> extractCookiesFromUrl(const QString& url);
private:

View File

@ -23,6 +23,8 @@
#include "miscellaneous/settings.h"
#include "network-web/urlinterceptor.h"
#include <QWebEngineProfile>
NetworkUrlInterceptor::NetworkUrlInterceptor(QObject* parent)
: QWebEngineUrlRequestInterceptor(parent), m_sendDnt(false) {}
@ -33,6 +35,9 @@ void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) {
// NOTE: Here we can add custom headers for each webengine request, for example "User-Agent".
info.setHttpHeader(QByteArrayLiteral(HTTP_HEADERS_USER_AGENT),
HTTP_COMPLETE_USERAGENT);
for (UrlInterceptor* interceptor : qAsConst(m_interceptors)) {
interceptor->interceptRequest(info);
}