/** * HTTP API: WP_Http_Curl class * * @package WordPress * @subpackage HTTP * @since 4.4.0 */ /** * Core class used to integrate Curl as an HTTP transport. * * HTTP request method uses Curl extension to retrieve the url. * * Requires the Curl extension to be installed. * * @since 2.7.0 * @deprecated 6.4.0 Use WP_Http * @see WP_Http */ #[AllowDynamicProperties] class WP_Http_Curl { /** * Temporary header storage for during requests. * * @since 3.2.0 * @var string */ private $headers = ''; /** * Temporary body storage for during requests. * * @since 3.6.0 * @var string */ private $body = ''; /** * The maximum amount of data to receive from the remote server. * * @since 3.6.0 * @var int|false */ private $max_body_length = false; /** * The file resource used for streaming to file. * * @since 3.6.0 * @var resource|false */ private $stream_handle = false; /** * The total bytes written in the current request. * * @since 4.1.0 * @var int */ private $bytes_written_total = 0; /** * Send a HTTP request to a URI using cURL extension. * * @since 2.7.0 * * @param string $url The request URL. * @param string|array $args Optional. Override the defaults. * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error */ public function request( $url, $args = array() ) { $defaults = array( 'method' => 'GET', 'timeout' => 5, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'headers' => array(), 'body' => null, 'cookies' => array(), 'decompress' => false, 'stream' => false, 'filename' => null, ); $parsed_args = wp_parse_args( $args, $defaults ); if ( isset( $parsed_args['headers']['User-Agent'] ) ) { $parsed_args['user-agent'] = $parsed_args['headers']['User-Agent']; unset( $parsed_args['headers']['User-Agent'] ); } elseif ( isset( $parsed_args['headers']['user-agent'] ) ) { $parsed_args['user-agent'] = $parsed_args['headers']['user-agent']; unset( $parsed_args['headers']['user-agent'] ); } // Construct Cookie: header if any cookies are set. WP_Http::buildCookieHeader( $parsed_args ); $handle = curl_init(); // cURL offers really easy proxy support. $proxy = new WP_HTTP_Proxy(); if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) { curl_setopt( $handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP ); curl_setopt( $handle, CURLOPT_PROXY, $proxy->host() ); curl_setopt( $handle, CURLOPT_PROXYPORT, $proxy->port() ); if ( $proxy->use_authentication() ) { curl_setopt( $handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY ); curl_setopt( $handle, CURLOPT_PROXYUSERPWD, $proxy->authentication() ); } } $is_local = isset( $parsed_args['local'] ) && $parsed_args['local']; $ssl_verify = isset( $parsed_args['sslverify'] ) && $parsed_args['sslverify']; if ( $is_local ) { /** This filter is documented in wp-includes/class-wp-http-streams.php */ $ssl_verify = apply_filters( 'https_local_ssl_verify', $ssl_verify, $url ); } elseif ( ! $is_local ) { /** This filter is documented in wp-includes/class-wp-http.php */ $ssl_verify = apply_filters( 'https_ssl_verify', $ssl_verify, $url ); } /* * CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers. Have to use ceil since. * a value of 0 will allow an unlimited timeout. */ $timeout = (int) ceil( $parsed_args['timeout'] ); curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $timeout ); curl_setopt( $handle, CURLOPT_TIMEOUT, $timeout ); curl_setopt( $handle, CURLOPT_URL, $url ); curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( true === $ssl_verify ) ? 2 : false ); curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify ); if ( $ssl_verify ) { curl_setopt( $handle, CURLOPT_CAINFO, $parsed_args['sslcertificates'] ); } curl_setopt( $handle, CURLOPT_USERAGENT, $parsed_args['user-agent'] ); /* * The option doesn't work with safe mode or when open_basedir is set, and there's * a bug #17490 with redirected POST requests, so handle redirections outside Curl. */ curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, false ); curl_setopt( $handle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS ); switch ( $parsed_args['method'] ) { case 'HEAD': curl_setopt( $handle, CURLOPT_NOBODY, true ); break; case 'POST': curl_setopt( $handle, CURLOPT_POST, true ); curl_setopt( $handle, CURLOPT_POSTFIELDS, $parsed_args['body'] ); break; case 'PUT': curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, 'PUT' ); curl_setopt( $handle, CURLOPT_POSTFIELDS, $parsed_args['body'] ); break; default: curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, $parsed_args['method'] ); if ( ! is_null( $parsed_args['body'] ) ) { curl_setopt( $handle, CURLOPT_POSTFIELDS, $parsed_args['body'] ); } break; } if ( true === $parsed_args['blocking'] ) { curl_setopt( $handle, CURLOPT_HEADERFUNCTION, array( $this, 'stream_headers' ) ); curl_setopt( $handle, CURLOPT_WRITEFUNCTION, array( $this, 'stream_body' ) ); } curl_setopt( $handle, CURLOPT_HEADER, false ); if ( isset( $parsed_args['limit_response_size'] ) ) { $this->max_body_length = (int) $parsed_args['limit_response_size']; } else { $this->max_body_length = false; } // If streaming to a file open a file handle, and setup our curl streaming handler. if ( $parsed_args['stream'] ) { if ( ! WP_DEBUG ) { $this->stream_handle = @fopen( $parsed_args['filename'], 'w+' ); } else { $this->stream_handle = fopen( $parsed_args['filename'], 'w+' ); } if ( ! $this->stream_handle ) { return new WP_Error( 'http_request_failed', sprintf( /* translators: 1: fopen(), 2: File name. */ __( 'Could not open handle for %1$s to %2$s.' ), 'fopen()', $parsed_args['filename'] ) ); } } else { $this->stream_handle = false; } if ( ! empty( $parsed_args['headers'] ) ) { // cURL expects full header strings in each element. $headers = array(); foreach ( $parsed_args['headers'] as $name => $value ) { $headers[] = "{$name}: $value"; } curl_setopt( $handle, CURLOPT_HTTPHEADER, $headers ); } if ( '1.0' === $parsed_args['httpversion'] ) { curl_setopt( $handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0 ); } else { curl_setopt( $handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 ); } /** * Fires before the cURL request is executed. * * Cookies are not currently handled by the HTTP API. This action allows * plugins to handle cookies themselves. * * @since 2.8.0 * * @param resource $handle The cURL handle returned by curl_init() (passed by reference). * @param array $parsed_args The HTTP request arguments. * @param string $url The request URL. */ do_action_ref_array( 'http_api_curl', array( &$handle, $parsed_args, $url ) ); // We don't need to return the body, so don't. Just execute request and return. if ( ! $parsed_args['blocking'] ) { curl_exec( $handle ); $curl_error = curl_error( $handle ); if ( $curl_error ) { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return new WP_Error( 'http_request_failed', $curl_error ); } if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array( 301, 302 ), true ) ) { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) ); } if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return array( 'headers' => array(), 'body' => '', 'response' => array( 'code' => false, 'message' => false, ), 'cookies' => array(), ); } curl_exec( $handle ); $processed_headers = WP_Http::processHeaders( $this->headers, $url ); $body = $this->body; $bytes_written_total = $this->bytes_written_total; $this->headers = ''; $this->body = ''; $this->bytes_written_total = 0; $curl_error = curl_errno( $handle ); // If an error occurred, or, no response. if ( $curl_error || ( 0 === strlen( $body ) && empty( $processed_headers['headers'] ) ) ) { if ( CURLE_WRITE_ERROR /* 23 */ === $curl_error ) { if ( ! $this->max_body_length || $this->max_body_length !== $bytes_written_total ) { if ( $parsed_args['stream'] ) { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } fclose( $this->stream_handle ); return new WP_Error( 'http_request_failed', __( 'Failed to write request to temporary file.' ) ); } else { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return new WP_Error( 'http_request_failed', curl_error( $handle ) ); } } } else { $curl_error = curl_error( $handle ); if ( $curl_error ) { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return new WP_Error( 'http_request_failed', $curl_error ); } } if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array( 301, 302 ), true ) ) { if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) ); } } if ( PHP_VERSION_ID < 80000 ) { // curl_close() has no effect as of PHP 8.0. curl_close( $handle ); } if ( $parsed_args['stream'] ) { fclose( $this->stream_handle ); } $response = array( 'headers' => $processed_headers['headers'], 'body' => null, 'response' => $processed_headers['response'], 'cookies' => $processed_headers['cookies'], 'filename' => $parsed_args['filename'], ); // Handle redirects. $redirect_response = WP_Http::handle_redirects( $url, $parsed_args, $response ); if ( false !== $redirect_response ) { return $redirect_response; } if ( true === $parsed_args['decompress'] && true === WP_Http_Encoding::should_decode( $processed_headers['headers'] ) ) { $body = WP_Http_Encoding::decompress( $body ); } $response['body'] = $body; return $response; } /** * Grabs the headers of the cURL request. * * Each header is sent individually to this callback, and is appended to the `$header` property * for temporary storage. * * @since 3.2.0 * * @param resource $handle cURL handle. * @param string $headers cURL request headers. * @return int Length of the request headers. */ private function stream_headers( $handle, $headers ) { $this->headers .= $headers; return strlen( $headers ); } /** * Grabs the body of the cURL request. * * The contents of the document are passed in chunks, and are appended to the `$body` * property for temporary storage. Returning a length shorter than the length of * `$data` passed in will cause cURL to abort the request with `CURLE_WRITE_ERROR`. * * @since 3.6.0 * * @param resource $handle cURL handle. * @param string $data cURL request body. * @return int Total bytes of data written. */ private function stream_body( $handle, $data ) { $data_length = strlen( $data ); if ( $this->max_body_length && ( $this->bytes_written_total + $data_length ) > $this->max_body_length ) { $data_length = ( $this->max_body_length - $this->bytes_written_total ); $data = substr( $data, 0, $data_length ); } if ( $this->stream_handle ) { $bytes_written = fwrite( $this->stream_handle, $data ); } else { $this->body .= $data; $bytes_written = $data_length; } $this->bytes_written_total += $bytes_written; // Upon event of this function returning less than strlen( $data ) curl will error with CURLE_WRITE_ERROR. return $bytes_written; } /** * Determines whether this class can be used for retrieving a URL. * * @since 2.7.0 * * @param array $args Optional. Array of request arguments. Default empty array. * @return bool False means this class can not be used, true means it can. */ public static function test( $args = array() ) { if ( ! function_exists( 'curl_init' ) || ! function_exists( 'curl_exec' ) ) { return false; } $is_ssl = isset( $args['ssl'] ) && $args['ssl']; if ( $is_ssl ) { $curl_version = curl_version(); // Check whether this cURL version support SSL requests. if ( ! ( CURL_VERSION_SSL & $curl_version['features'] ) ) { return false; } } /** * Filters whether cURL can be used as a transport for retrieving a URL. * * @since 2.7.0 * * @param bool $use_class Whether the class can be used. Default true. * @param array $args An array of request arguments. */ return apply_filters( 'use_curl_transport', true, $args ); } } Kasino Mostbet bonusov nabdky.2086 – Shweta Poddar Weddings Photography

Kasino Mostbet – bonusové nabídky

▶️ HRÁT

Содержимое

mostbet Casino je jedním z nejpopulárnějších kasín online, které nabízí širokou škálu her a bonusů. S více než 10 lety zkušeností v oblasti online kasín, Mostbet Casino je známé svou vysokou kvalitou a bezpečností hry.

Mostbet Casino nabízí širokou škálu her, včetně klasických kasínových her, jako jsou ruleta, blackjack a poker, stejně jako moderní hry, jako jsou video sloty a jackpotové hry. Hry jsou dostupné pro registraci a hru online, bez nutnosti instalace jakékoli software.

Mostbet Casino také nabízí několik bonusů, které mohou pomoci hráčům získat více z jejich hry. Mezi nejpopulárnější bonusy patří:

Bonus na první vklad

Noví hráči mohou získat bonus na první vklad, který je 100% až do 10 000 Kč. To znamená, že pokud vložíte 10 000 Kč, můžete získat další 10 000 Kč zdarma.

Bonus za aktivitu

Mostbet Casino také nabízí bonus za aktivitu, který je udělen hráčům, kteří aktivně hrají a dělají vklady. Tento bonus může být až 10% vkladu.

Bonus za referování

Mostbet Casino také nabízí bonus za referování, který je udělen hráčům, kteří referují své přátelé a rodinu do kasína. Tento bonus může být až 500 Kč.

Mostbet Casino je také známé svou vysokou úrovní bezpečnosti a ochrany hráčů. Kasino je licencované a regulované členským státem, a proto hráči mohou být jistí, že jejich osobní údaje a finanční transakce jsou chráně.

Mostbet Casino je dostupné pro registraci a hru online, bez nutnosti instalace jakékoli software. Protože Mostbet Casino je dostupné online, hráči mohou hrát kdekoliv a kdykoliv, a to i z mobilních zařízení.

Mostbet Casino je také známé svou špičkovou podporu zákazníků, která je dostupná 24/7. Protože Mostbet Casino je dostupné online, hráči mohou kontaktovat podporu zákazníků prostřednictvím emailu nebo live chatu.

Mostbet Casino je jedno z nejpopulárnějších kasín online, které nabízí širokou škálu her a bonusů. Protože Mostbet Casino je dostupné online, hráči mohou hrát kdekoliv a kdykoliv, a to i z mobilních zařízení.

Protože Mostbet Casino je dostupné online, hráči mohou kontaktovat podporu zákazníků prostřednictvím emailu nebo live chatu. Protože Mostbet Casino je dostupné online, hráči mohou hrát kdekoliv a kdykoliv, a to i z mobilních zařízení.

Mostbet Casino je jedno z nejpopulárnějších kasín online, které nabízí širokou škálu her a bonusů. Protože Mostbet Casino je dostupné online, hráči mohou hrát kdekoliv a kdykoliv, a to i z mobilních zařízení.

Kasino Mostbet: bonusové nátky

Mostbet Casino je jedním z nejpopulárnějších kasín online, které nabízí širokou škálu her a bonusů. Mezi nejzajímavější bonusy patří Mostbet Casino Bonus, který je dostupný všem novým hráčům. Tento bonus je v hodnotě 100% až 100 EUR a je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino.

Mostbet Casino Bonus je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino a provedli první vklad. Tento bonus je v hodnotě 100% až 100 EUR a je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino. K získání tohoto bonusu je nutné provést první vklad a poté kontaktovat podporu Mostbet Casino.

Mostbet Casino je také známý svými dalšími bonusy, jako je například Mostbet CZ Bonus, který je dostupný všem hráčům z České republiky. Tento bonus je v hodnotě 50% až 500 CZK a je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino a provedli první vklad.

Mostbet Casino je také známý svými dalšími bonusy, jako je například Mostbet Casino Bonus, který je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino a provedli první vklad. Tento bonus je v hodnotě 100% až 100 EUR a je dostupný všem hráčům, kteří se registrovali na stránce Mostbet Casino. K získání tohoto bonusu je nutné provést první vklad a poté kontaktovat podporu Mostbet Casino.

Najlepšie bonusové nabídky kasina Mostbet

Kasino Mostbet je známé svojí širokou škálu bonusových nabídek, které lákají hráče k hraní. Mezi nejlepšie bonusové nabídky kasina Mostbet patří:

Bonus
Podmínky

100% vkladový bonus Minimální vklad 100 EUR, maximální bonus 300 EUR 20% bonus za první zápas Minimální vklad 10 EUR, maximální bonus 50 EUR 50% bonus za další zápasy Minimální vklad 10 EUR, maximální bonus 100 EUR

Každý hráč, který se registruje na kasinu Mostbet, může získat 100% vkladový bonus až do 300 EUR. K tomu je však nutné splnit podmínky, jako je minimální vklad 100 EUR. Dalším bonusem je 20% bonus za první zápas, který lze získat, pokud se hráč registruje a provede první vklad minimálně 10 EUR. Další bonus je 50% bonus za další zápasy, který lze získat, pokud se hráč registruje a provede další vklady minimálně 10 EUR.

Bonusové podmínky kasina Mostbet

Kasino Mostbet má několik bonusových podmínek, které hráči musejí splnit, aby získali bonus. Mezi tyto podmínky patří:

  • Minimální vklad
  • Maximální bonus
  • Minimální úrok
  • Maximální úrok

Každý hráč, který se registruje na kasinu Mostbet, musejí splnit tyto podmínky, aby získal bonus. Pokud hráč nesplní podmínky, bonus se mu nepodá.

News

Leave a Comment

Your email address will not be published. Required fields are marked *