Visit The New, Modern Unix Linux Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #856
Difficulty: Medium
React was created by Jordan Renke, a software engineer at Facebook.
True or False?
Linux & Unix Commands - Search Man Pages

curlopt_accept_encoding(3) [mojave man page]

CURLOPT_ACCEPT_ENCODING(3)				     curl_easy_setopt options					CURLOPT_ACCEPT_ENCODING(3)

NAME
CURLOPT_ACCEPT_ENCODING - enables automatic decompression of HTTP downloads SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); DESCRIPTION
Pass a char * argument specifying what encoding you'd like. Sets the contents of the Accept-Encoding: header sent in a HTTP request, and enables decoding of a response when a Content-Encoding: header is received. Three encodings are supported: identity, meaning non-compressed, deflate which requests the server to compress its response using the zlib algorithm, and gzip which requests the gzip algorithm. If a zero-length string is set like "", then an Accept-Encoding: header containing all built-in supported encodings is sent. Set this option to NULL to explicitly disable it, which makes libcurl not send an Accept-Encoding: header and not decompress contents auto- matically. You can also opt to just include the Accept-Encoding: header in your request with CURLOPT_HTTPHEADER(3) but then there will be no automatic decompressing when receiving data. This is a request, not an order; the server may or may not do it. This option must be set (to any non-NULL value) or else any unsolicited encoding done by the server is ignored. Servers might respond with Content-Encoding even without getting a Accept-Encoding: in the request. Servers might respond with a different Content-Encoding than what was asked for in the request. The Content-Length: servers send for a compressed response is supposed to indicate the length of the compressed content so when auto decod- ing is enabled it may not match the sum of bytes reported by the write callbacks (although, sending the length of the non-compressed con- tent is a common server mistake). The application does not have to keep the string around after setting this option. DEFAULT
NULL PROTOCOLS
HTTP EXAMPLE
CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* enable all supported built-in compressions */ curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, ""); /* Perform the request */ curl_easy_perform(curl); } AVAILABILITY
This option was called CURLOPT_ENCODING before 7.21.6 RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. SEE ALSO
CURLOPT_TRANSFER_ENCODING(3), CURLOPT_HTTPHEADER(3), CURLOPT_HTTP_CONTENT_DECODING(3), libcurl 7.54.0 December 21, 2016 CURLOPT_ACCEPT_ENCODING(3)

Check Out this Related Man Page

CURLOPT_UPLOAD(3)					     curl_easy_setopt options						 CURLOPT_UPLOAD(3)

NAME
CURLOPT_UPLOAD - enable data upload SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); DESCRIPTION
The long parameter upload set to 1 tells the library to prepare for and perform an upload. The CURLOPT_READDATA(3) and CURLOPT_INFILE- SIZE(3) or CURLOPT_INFILESIZE_LARGE(3) options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libcurl otherwise. Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER(3) as usual. If you use PUT to a HTTP 1.1 server, you can upload data without knowing the size before starting the transfer if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with CURLOPT_HTTPHEADER(3). With HTTP 1.0 or without chunked transfer, you must specify the size. DEFAULT
0, default is download PROTOCOLS
Most EXAMPLE
CURL *curl = curl_easy_init(); if(curl) { /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* enable uploading */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* specify target */ curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile"); /* now specify which pointer to pass to our callback */ curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); /* Set the size of the file to upload */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize); /* Now run off and do what you've been told! */ curl_easy_perform(curl); } AVAILABILITY
Always RETURN VALUE
Returns CURLE_OK SEE ALSO
CURLOPT_PUT(3), CURLOPT_READFUNCTION(3), CURLOPT_INFILESIZE_LARGE(3), libcurl 7.54.0 February 03, 2016 CURLOPT_UPLOAD(3)

Featured Tech Videos