qBittorrent
anonymous_namespace{downloadmanager.cpp} Namespace Reference

Classes

class  NetworkCookieJar
 

Functions

QNetworkRequest createNetworkRequest (const Net::DownloadRequest &downloadRequest)
 

Variables

const char DEFAULT_USER_AGENT [] = "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
 

Function Documentation

◆ createNetworkRequest()

QNetworkRequest anonymous_namespace{downloadmanager.cpp}::createNetworkRequest ( const Net::DownloadRequest downloadRequest)

Definition at line 115 of file downloadmanager.cpp.

116  {
117  QNetworkRequest request {downloadRequest.url()};
118 
119  if (downloadRequest.userAgent().isEmpty())
120  request.setRawHeader("User-Agent", DEFAULT_USER_AGENT);
121  else
122  request.setRawHeader("User-Agent", downloadRequest.userAgent().toUtf8());
123 
124  // Spoof HTTP Referer to allow adding torrent link from Torcache/KickAssTorrents
125  request.setRawHeader("Referer", request.url().toEncoded().data());
126  // Accept gzip
127  request.setRawHeader("Accept-Encoding", "gzip");
128  // Qt doesn't support Magnet protocol so we need to handle redirections manually
129  request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::ManualRedirectPolicy);
130 
131  return request;
132  }
QString userAgent() const

References DEFAULT_USER_AGENT, Net::DownloadRequest::url(), and Net::DownloadRequest::userAgent().

Referenced by Net::DownloadManager::download(), and Net::DownloadManager::handleReplyFinished().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ DEFAULT_USER_AGENT

const char anonymous_namespace{downloadmanager.cpp}::DEFAULT_USER_AGENT[] = "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"

Definition at line 53 of file downloadmanager.cpp.

Referenced by createNetworkRequest().