diff options
author | saturneric <[email protected]> | 2024-02-26 12:38:30 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-02-26 12:38:30 +0000 |
commit | 59cdf57e8f807a0fe2505837e2eed5871ea281c8 (patch) | |
tree | 420cc23dc12ca947e39906981c8814e04b51e0c4 | |
parent | fix: add English translation (diff) | |
download | GpgFrontend-59cdf57e8f807a0fe2505837e2eed5871ea281c8.tar.gz GpgFrontend-59cdf57e8f807a0fe2505837e2eed5871ea281c8.zip |
feat: add user agent header when doing http request
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/GpgFrontendBuildInfo.h.in | 8 | ||||
-rw-r--r-- | src/module/integrated/version_checking_module/VersionCheckTask.cpp | 12 | ||||
-rw-r--r-- | src/ui/UserInterfaceUtils.cpp | 7 | ||||
-rw-r--r-- | src/ui/dialog/import_export/KeyUploadDialog.cpp | 2 | ||||
-rw-r--r-- | src/ui/thread/KeyServerImportTask.cpp | 7 | ||||
-rw-r--r-- | src/ui/thread/KeyServerSearchTask.cpp | 7 | ||||
-rw-r--r-- | src/ui/thread/ListedKeyServerTestTask.cpp | 8 | ||||
-rw-r--r-- | src/ui/thread/ProxyConnectionTestTask.cpp | 7 |
9 files changed, 59 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3230a908..eae20641 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -250,6 +250,10 @@ IF (MINGW) ${CMAKE_SOURCE_DIR}/lib/mingw /mingw64/lib ) + + # Http Request User Agent + set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0") + endif () # macOS @@ -277,6 +281,10 @@ if (APPLE) /usr/local/lib /opt/homebrew/lib ) + + # Http Request User Agent + set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.3; rv:123.0) Gecko/20100101 Firefox/123.0") + endif () if (UNIX AND NOT APPLE) @@ -319,6 +327,9 @@ if (LINUX) /usr/local/lib/ ) + # Http Request User Agent + set(HTTP_REQUEST_USER_AGENT "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0") + endif () if (LINUX_INSTALL_SOFTWARE) diff --git a/src/GpgFrontendBuildInfo.h.in b/src/GpgFrontendBuildInfo.h.in index c6242b1e..37338de0 100644 --- a/src/GpgFrontendBuildInfo.h.in +++ b/src/GpgFrontendBuildInfo.h.in @@ -52,4 +52,10 @@ */ #define BUILD_FLAG "@BUILD_FLAG@" #define BUILD_TIMESTAMP "@BUILD_TIMESTAMP@" -#define APP_INSTALL_FLAG "@APP_INSTALL_FLAG@"
\ No newline at end of file +#define APP_INSTALL_FLAG "@APP_INSTALL_FLAG@" + +/** + * @brief Network + * + */ +#define HTTP_REQUEST_USER_AGENT "@HTTP_REQUEST_USER_AGENT@"
\ No newline at end of file diff --git a/src/module/integrated/version_checking_module/VersionCheckTask.cpp b/src/module/integrated/version_checking_module/VersionCheckTask.cpp index 83844af8..e81fc92d 100644 --- a/src/module/integrated/version_checking_module/VersionCheckTask.cpp +++ b/src/module/integrated/version_checking_module/VersionCheckTask.cpp @@ -50,8 +50,10 @@ auto VersionCheckTask::Run() -> int { QString latest_version_url = "https://api.github.com/repos/saturneric/gpgfrontend/releases/latest"; - QNetworkRequest latest_request; - latest_request.setUrl(QUrl(latest_version_url)); + QNetworkRequest latest_request(latest_version_url); + latest_request.setHeader(QNetworkRequest::UserAgentHeader, + HTTP_REQUEST_USER_AGENT); + latest_reply_ = network_manager_->get(latest_request); connect(latest_reply_, &QNetworkReply::finished, this, &VersionCheckTask::slot_parse_latest_version_info); @@ -109,8 +111,10 @@ void VersionCheckTask::slot_parse_latest_version_info() { current_version_; MODULE_LOG_DEBUG("current version info query url: {}", current_version_url); - QNetworkRequest current_request; - current_request.setUrl(QUrl(current_version_url)); + QNetworkRequest current_request(current_version_url); + current_request.setHeader(QNetworkRequest::UserAgentHeader, + HTTP_REQUEST_USER_AGENT); + current_reply_ = network_manager_->get(current_request); connect(current_reply_, &QNetworkReply::finished, this, diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index ab8aeac9..9daca57b 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -30,6 +30,7 @@ #include <cstddef> +#include "GpgFrontendBuildInfo.h" #include "core/GpgConstants.h" #include "core/function/CoreSignalStation.h" #include "core/function/gpg/GpgKeyGetter.h" @@ -428,7 +429,11 @@ void CommonUtils::SlotImportKeyFromKeyServer( GF_UI_LOG_DEBUG("request url: {}", req_url.toString()); // Waiting for reply - QNetworkReply *reply = network_manager->get(QNetworkRequest(req_url)); + auto request = QNetworkRequest(req_url); + request.setHeader(QNetworkRequest::UserAgentHeader, + HTTP_REQUEST_USER_AGENT); + + QNetworkReply *reply = network_manager->get(request); QEventLoop loop; connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit); loop.exec(); diff --git a/src/ui/dialog/import_export/KeyUploadDialog.cpp b/src/ui/dialog/import_export/KeyUploadDialog.cpp index f59f9daa..0e0dca4d 100644 --- a/src/ui/dialog/import_export/KeyUploadDialog.cpp +++ b/src/ui/dialog/import_export/KeyUploadDialog.cpp @@ -30,6 +30,7 @@ #include <QtNetwork> +#include "GpgFrontendBuildInfo.h" #include "core/GpgModel.h" #include "core/function/gpg/GpgKeyGetter.h" #include "core/function/gpg/GpgKeyImportExporter.h" @@ -115,6 +116,7 @@ void KeyUploadDialog::slot_upload_key_to_server( data.replace(" ", "+"); QNetworkRequest request(req_url); + request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); diff --git a/src/ui/thread/KeyServerImportTask.cpp b/src/ui/thread/KeyServerImportTask.cpp index 63cabbcd..c908f5d7 100644 --- a/src/ui/thread/KeyServerImportTask.cpp +++ b/src/ui/thread/KeyServerImportTask.cpp @@ -28,6 +28,7 @@ #include "ui/thread/KeyServerImportTask.h" +#include "GpgFrontendBuildInfo.h" #include "core/function/gpg/GpgKeyImportExporter.h" #include "ui/struct/SettingsObject.h" #include "ui/struct/settings/KeyServerSO.h" @@ -54,7 +55,11 @@ auto GpgFrontend::UI::KeyServerImportTask::Run() -> int { QUrl const req_url(keyserver_url.scheme() + "://" + keyserver_url.host() + "/pks/lookup?op=get&search=0x" + key_id + "&options=mr"); - reply_ = manager_->get(QNetworkRequest(req_url)); + auto request = QNetworkRequest(req_url); + request.setHeader(QNetworkRequest::UserAgentHeader, + HTTP_REQUEST_USER_AGENT); + + reply_ = manager_->get(request); connect(reply_, &QNetworkReply::finished, this, &KeyServerImportTask::dealing_reply_from_server); } diff --git a/src/ui/thread/KeyServerSearchTask.cpp b/src/ui/thread/KeyServerSearchTask.cpp index 2f05b774..eb650c4b 100644 --- a/src/ui/thread/KeyServerSearchTask.cpp +++ b/src/ui/thread/KeyServerSearchTask.cpp @@ -28,6 +28,8 @@ #include "ui/thread/KeyServerSearchTask.h" +#include "GpgFrontendBuildInfo.h" + GpgFrontend::UI::KeyServerSearchTask::KeyServerSearchTask(QString keyserver_url, QString search_string) : Task("key_server_search_task"), @@ -42,7 +44,10 @@ auto GpgFrontend::UI::KeyServerSearchTask::Run() -> int { "/pks/lookup?search=" + search_string_ + "&op=index&options=mr"; - reply_ = manager_->get(QNetworkRequest(url_from_remote)); + auto request = QNetworkRequest(url_from_remote); + request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT); + + reply_ = manager_->get(request); connect(reply_, &QNetworkReply::finished, this, &KeyServerSearchTask::dealing_reply_from_server); diff --git a/src/ui/thread/ListedKeyServerTestTask.cpp b/src/ui/thread/ListedKeyServerTestTask.cpp index f50a66ab..15ea959f 100644 --- a/src/ui/thread/ListedKeyServerTestTask.cpp +++ b/src/ui/thread/ListedKeyServerTestTask.cpp @@ -31,6 +31,8 @@ #include <QtNetwork> #include <vector> +#include "GpgFrontendBuildInfo.h" + GpgFrontend::UI::ListedKeyServerTestTask::ListedKeyServerTestTask( QStringList urls, int timeout, QWidget* /*parent*/) : Task("listed_key_server_test_task"), @@ -49,7 +51,11 @@ auto GpgFrontend::UI::ListedKeyServerTestTask::Run() -> int { auto key_url = QUrl{url}; GF_UI_LOG_DEBUG("key server request: {}", key_url.host()); - auto* network_reply = network_manager_->get(QNetworkRequest{key_url}); + auto request = QNetworkRequest(key_url); + request.setHeader(QNetworkRequest::UserAgentHeader, + HTTP_REQUEST_USER_AGENT); + + auto* network_reply = network_manager_->get(request); auto* timer = new QTimer(this); connect(network_reply, &QNetworkReply::finished, this, diff --git a/src/ui/thread/ProxyConnectionTestTask.cpp b/src/ui/thread/ProxyConnectionTestTask.cpp index b681ca6d..003205e5 100644 --- a/src/ui/thread/ProxyConnectionTestTask.cpp +++ b/src/ui/thread/ProxyConnectionTestTask.cpp @@ -30,6 +30,8 @@ #include <QtNetwork> +#include "GpgFrontendBuildInfo.h" + GpgFrontend::UI::ProxyConnectionTestTask::ProxyConnectionTestTask(QString url, int timeout) : Task("proxy_connection_test_task"), @@ -40,7 +42,10 @@ GpgFrontend::UI::ProxyConnectionTestTask::ProxyConnectionTestTask(QString url, } auto GpgFrontend::UI::ProxyConnectionTestTask::Run() -> int { - auto* network_reply = network_manager_->get(QNetworkRequest{url_}); + auto request = QNetworkRequest(url_); + request.setHeader(QNetworkRequest::UserAgentHeader, HTTP_REQUEST_USER_AGENT); + + auto* network_reply = network_manager_->get(request); auto* timer = new QTimer(this); connect(network_reply, &QNetworkReply::finished, this, |