|
crawlserv++
[under development]
Application for crawling and analyzing textual content of websites.
|
Namespace for networking classes. More...
Namespaces | |
| FTPUpload | |
Classes | |
| class | Config |
| Abstract class containing the network-specific configuration for threads. More... | |
| class | Curl |
Provides an interface to the libcurl library for sending and receiving data over the network. More... | |
| class | Downloader |
Downloader using the libcurl library to download a URL in an extra thread. More... | |
| class | TorControl |
| Controls a TOR service via a TOR control server/port, if available. More... | |
Constants | |
| constexpr std::uint16_t | httpVersionAny {0} |
| Use any available HTTP version. More... | |
| constexpr std::uint16_t | httpVersion1 {1} |
| Use HTTP/1 only. More... | |
| constexpr std::uint16_t | httpVersion11 {2} |
| Use HTTP/1.1 only. More... | |
| constexpr std::uint16_t | httpVersion2 {3} |
| Attempt to use HTTP/2, fall back to HTTP/1.1. More... | |
| constexpr std::uint16_t | httpVersion2Only {4} |
| Use non-TLS HTTP/2, even if HTTPS is not available. More... | |
| constexpr std::uint16_t | httpVersion2Tls {5} |
| Attempt to use HTTP/2 over TLS, fall back to HTTP/1.1. More... | |
| constexpr std::uint16_t | httpVersion3Only {6} |
| Use HTTP/3 only. More... | |
| constexpr std::uint16_t | defaultConnectionsMax {5} |
| Default maximum number of connections. More... | |
| constexpr std::int64_t | defaultDnsCacheTimeOut {60} |
| Default lifetime of DNS cache entries. More... | |
| constexpr std::uint64_t | defaultRedirectMax {20} |
| Default maximum number of automatic redirects by default. More... | |
| constexpr std::uint64_t | defaultResetTorOnlyAfter {60} |
| Default number of seconds that need to have been passed before requesting a new TOR identity. More... | |
| constexpr std::uint64_t | defaultTcpKeepAliveIdle {60} |
| Default delay that will be waited before sending keep-alive probes, in seconds. More... | |
| constexpr std::uint64_t | defaultTcpKeepAliveInterval {60} |
| Default interval for TCP Keep-alive probing, in seconds. More... | |
| constexpr std::uint64_t | defaultTimeOut {300} |
| Default connecting time-out, in seconds. More... | |
| constexpr std::uint64_t | defaultTimeOutRequest {300} |
| Default request time-out, in seconds. More... | |
| constexpr auto | defaultProtocol {"https://"sv} |
| Default protocol. More... | |
| constexpr auto | encodedSpace {"%20"} |
| URL encoding of a space. More... | |
| constexpr auto | encodedSpaceLength {3} |
| Length of a URL encoded space. More... | |
| constexpr auto | checkEveryMilliseconds {100} |
| The number of milliseconds to sleep before re-checking the status of the application. More... | |
| constexpr auto | reservedCharacters {";/?:@=&#"} |
| Reserved characters to be ignored when escaping a URL. More... | |
| constexpr auto | versionDoH {0x073E00} |
libcurl version needed for DNS-over-HTTPS support, i.e. 7.62.0. More... | |
| constexpr auto | versionDnsShuffle {0x073C00} |
libcurl version needed for DNS shuffling, i.e. 7.60.0. More... | |
| constexpr auto | versionBrotli {0x073900} |
libcurl version needed for Brotli encoding, i.e. 7.57.0. More... | |
| constexpr auto | versionZstd {0x074800} |
libcurl version needed for zstd encoding, i.e. 7.72.0. More... | |
| constexpr auto | versionHttp2 {0x072100} |
libcurl version needed for HTTP/2 support, i.e. 7.33.0. More... | |
| constexpr auto | versionHttp2Only {0x073100} |
libcurl version needed for HTTP/2 ONLY support, i.e. 7.49.0. More... | |
| constexpr auto | versionHttp2Tls {0x072F00} |
libcurl version needed for HTTP/2 OVER TLS ONLY support, i.e. 7.47.0. More... | |
| constexpr auto | versionHttp3Only {0x074200} |
libcurl version needed for HTTP/3 ONLY support, i.e. 7.66.0. More... | |
| constexpr auto | versionPreProxy {0x073400} |
libcurl version needed for pre-proxy support, i.e. 7.52.0. More... | |
| constexpr auto | versionProxyTlsAuth {0x073400} |
libcurl version needed for proxy TLS authentification, i.e. 7.52.0. More... | |
| constexpr auto | authTypeTlsSrp {"SRP"} |
libcurl authentification type for the proxy TLS-SRP authentification. More... | |
| constexpr auto | versionProxySslVerify {0x073400} |
libcurl version needed for SSL verification of proxy host and peer, i.e. 7.52.0. More... | |
| constexpr auto | versionTcpFastOpen {0x073100} |
libcurl version needed for TCP Fast Open support, i.e. 7.49.0. More... | |
| constexpr auto | versionHappyEyeballs {0x073B00} |
libcurl version needed for the Happy Eyeballs algorithm, i.e. 7.59.0. More... | |
| constexpr auto | getPublicIpFrom {"https://myexternalip.com/raw"} |
| URL to retrieve the IP of the server from. More... | |
| constexpr std::array | getPublicIpErrors {403, 429, 502, 503, 504, 521, 522, 524} |
| Errors when retrieving the IP of the server. More... | |
| constexpr auto | xTsHeaderName {"X-ts: "} |
Name of the X-ts header. More... | |
| constexpr auto | xTsHeaderNameLen {6} |
Length of the X-ts header name, in bytes. More... | |
| constexpr std::array | gzipMagicNumber {0x1f, 0x8b} |
| GZIP magic number. More... | |
| constexpr auto | responseCodeLength {3} |
| The length of a HTTP response code. More... | |
| constexpr auto | millisecondsPerSecond {1000} |
| The number of milliseconds per second. More... | |
Namespace for networking classes.
|
inline |
libcurl authentification type for the proxy TLS-SRP authentification.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
The number of milliseconds to sleep before re-checking the status of the application.
Referenced by crawlservpp::Network::Curl::resetConnection().
|
inline |
Default maximum number of connections.
|
inline |
Default lifetime of DNS cache entries.
|
inline |
Default protocol.
|
inline |
Default maximum number of automatic redirects by default.
|
inline |
Default number of seconds that need to have been passed before requesting a new TOR identity.
|
inline |
Default delay that will be waited before sending keep-alive probes, in seconds.
|
inline |
Default interval for TCP Keep-alive probing, in seconds.
|
inline |
Default connecting time-out, in seconds.
|
inline |
Default request time-out, in seconds.
|
inline |
URL encoding of a space.
Referenced by crawlservpp::Network::Curl::escape().
|
inline |
Length of a URL encoded space.
Referenced by crawlservpp::Network::Curl::escape().
|
inline |
Errors when retrieving the IP of the server.
Referenced by crawlservpp::Network::Curl::getPublicIp().
|
inline |
URL to retrieve the IP of the server from.
Referenced by crawlservpp::Network::Curl::getPublicIp().
|
inline |
GZIP magic number.
Referenced by crawlservpp::Network::Curl::writerInClass().
|
inline |
Use HTTP/1 only.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Use HTTP/1.1 only.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Attempt to use HTTP/2, fall back to HTTP/1.1.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Use non-TLS HTTP/2, even if HTTPS is not available.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Attempt to use HTTP/2 over TLS, fall back to HTTP/1.1.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Use HTTP/3 only.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Use any available HTTP version.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
The number of milliseconds per second.
Referenced by crawlservpp::Network::TorControl::tick().
|
inline |
Reserved characters to be ignored when escaping a URL.
Referenced by crawlservpp::Network::Curl::escapeUrl().
|
inline |
The length of a HTTP response code.
Referenced by crawlservpp::Network::TorControl::newIdentity().
|
inline |
libcurl version needed for Brotli encoding, i.e. 7.57.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for DNS shuffling, i.e. 7.60.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for DNS-over-HTTPS support, i.e. 7.62.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for the Happy Eyeballs algorithm, i.e. 7.59.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for HTTP/2 support, i.e. 7.33.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for HTTP/2 ONLY support, i.e. 7.49.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for HTTP/2 OVER TLS ONLY support, i.e. 7.47.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for HTTP/3 ONLY support, i.e. 7.66.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for pre-proxy support, i.e. 7.52.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for SSL verification of proxy host and peer, i.e. 7.52.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for proxy TLS authentification, i.e. 7.52.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for TCP Fast Open support, i.e. 7.49.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
libcurl version needed for zstd encoding, i.e. 7.72.0.
Referenced by crawlservpp::Network::Curl::setConfigGlobal().
|
inline |
Name of the X-ts header.
Referenced by crawlservpp::Network::Curl::headerInClass().
|
inline |
Length of the X-ts header name, in bytes.
Referenced by crawlservpp::Network::Curl::headerInClass().