/curl/lib/ |
H A D | curl_config.h.cmake | 757 /* Define to 1 if you do not want the OpenSSL configuration to be loaded 761 /* to enable NGHTTP2 */ 764 /* to enable NGTCP2 */ 767 /* to enable NGHTTP3 */ 770 /* to enable quiche */ 779 /* to enable msh3 */ 809 /* Define to empty if `const' does not conform to ANSI C. */ 824 /* to enable Windows IDN */ 827 /* to enable Apple IDN */ 836 /* Define to 1 to enable TLS-SRP support. */ [all …]
|
H A D | curl_range.c | 40 curl_off_t from, to; in Curl_range() local 52 to_t = curlx_strtoofft(ptr, &ptr2, 10, &to); in Curl_range() 62 data->req.maxdownload = to; in Curl_range() 63 data->state.resume_from = -to; in Curl_range() 64 DEBUGF(infof(data, "RANGE the last %" FMT_OFF_T " bytes", to)); in Curl_range() 71 if(from > to) in Curl_range() 74 totalsize = to - from; in Curl_range() 86 from, to, data->req.maxdownload)); in Curl_range()
|
/curl/docs/libcurl/opts/ |
H A D | CURLOPT_PIPEWAIT.md | 31 Set *wait* to 1L to tell libcurl to prefer to wait for a connection to 34 When about to perform a new transfer that allows multiplexing, libcurl checks 35 for existing connections to use. If no such connection exists it immediately 36 continues and creates a fresh new connection to use. 38 By setting this option to 1 - and having CURLMOPT_PIPELINING(3) enabled 40 for the connection to reveal if it is possible to multiplex on before it 41 continues. This enables libcurl to much better keep the number of connections 42 to a minimum when using multiplexing protocols. 45 for multiplexing rather than the opposite: prefer to open a new connection 48 The waiting time is as long as it takes for the connection to get up and for [all …]
|
H A D | CURLOPT_CONNECT_TO.md | 19 CURLOPT_CONNECT_TO - connect to another host and port instead 32 Pass a pointer to a linked list of strings with "connect to" information to 35 in. Use curl_slist_append(3) to create the list and curl_slist_free_all(3) to 41 connect to, and CONNECT-TO-PORT is the port to connect to. 50 CONNECT-TO-HOST or CONNECT-TO-PORT is empty, the "connect to" feature is 57 The "connect to" host and port are only used to establish the network 63 of other easy handles that have been added to the same multi handle. 65 The "connect to" host and port are ignored if they are equal to the host and 71 port, the HTTP proxy is automatically switched to tunnel mode for this 72 specific request. This is necessary because it is not possible to connect to a [all …]
|
H A D | CURLOPT_UNRESTRICTED_AUTH.md | 20 CURLOPT_UNRESTRICTED_AUTH - send credentials to other hosts too 33 Set the long *gohead* parameter to 1L to make libcurl continue to send 40 requests done to other hosts than the one used for the initial URL. Another 45 headers to the initial host as given in the original URL, to avoid leaking 46 username + password to other sites. 50 CURLOPT_UNRESTRICTED_AUTH(3) to 1L makes curl trust the server and sends 51 possibly sensitive credentials to any host the server points to, possibly 52 again and again as the following hosts can keep redirecting to new hosts. 54 Due to the way HTTP works, almost any header can be made to contain data a 55 client may not want to pass on to other servers than the initially intended [all …]
|
H A D | CURLOPT_HEADER.md | 21 CURLOPT_HEADER - pass headers to the data stream 33 Pass the long value *onoff* set to 1 to ask libcurl to include the headers 38 When asking to get the headers passed to the same callback as the body, it is 39 not possible to accurately separate them again without detailed knowledge 42 Further: the CURLOPT_WRITEFUNCTION(3) callback is limited to only ever 43 get a maximum of *CURL_MAX_WRITE_SIZE* bytes passed to it (16KB), while a 45 called with headers up to *CURL_MAX_HTTP_HEADER* bytes big (100KB). 47 It is often better to use CURLOPT_HEADERFUNCTION(3) to get the header 50 While named confusingly similar, CURLOPT_HTTPHEADER(3) is used to set
|
H A D | CURLOPT_NOSIGNAL.md | 29 any functions that cause signals to be sent to the process. This option is 30 here to allow multi-threaded Unix applications to still set/use all timeout 35 building libcurl with the c-ares or threaded resolver backends to enable 36 asynchronous DNS lookups, to enable timeouts for name resolves without the use 39 Setting CURLOPT_NOSIGNAL(3) to 1 makes libcurl NOT ask the system to 40 ignore SIGPIPE signals, which otherwise are sent by the system when trying to 41 send data to a socket which is closed in the other end. libcurl makes an 42 effort to never cause such SIGPIPE signals to trigger, but some operating 43 systems have no way to avoid them and even on those that have there are some 44 corner cases when they may still happen, contrary to our desire.
|
H A D | CURLOPT_PATH_AS_IS.md | 31 Set the long *leaveit* to 1, to explicitly tell libcurl to not alter the 32 given path before passing it on to the server. 34 This instructs libcurl to NOT squash sequences of "/../" or "/./" that may 35 exist in the URL's path part and that is supposed to be removed according to 38 Some server implementations are known to (erroneously) require the dot-dot 39 sequences to remain in the path and some clients want to pass these on in 40 order to try out server implementations.
|
H A D | CURLOPT_PRE_PROXY.md | 17 CURLOPT_PRE_PROXY - pre-proxy host to use 29 Set the *preproxy* to use for the upcoming request. The parameter should be a 30 char * to a null-terminated string holding the hostname or dotted numerical IP 33 To specify port number in this string, append :[port] to the end of the host 35 option CURLOPT_PROXYPORT(3). If not specified, libcurl defaults to using 38 A pre proxy is a SOCKS proxy that curl connects to before it connects to the 44 one to enable socks5 and asking the proxy to do the resolving, also known as 45 *CURLPROXY_SOCKS5_HOSTNAME* type) to request the specific SOCKS version to 51 When you set a hostname to use, do not assume that there is any particular 54 The application does not have to keep the string around after setting this [all …]
|
H A D | CURLOPT_WRITEDATA.md | 18 CURLOPT_WRITEDATA - pointer passed to the write callback 30 A data *pointer* to pass to the write callback. If you use the 33 must make *pointer* a 'FILE *' (cast to 'void *') as libcurl passes this 34 to *fwrite(3)* when writing data. 36 The internal CURLOPT_WRITEFUNCTION(3) writes the data to the FILE * 37 given with this option, or to stdout if this option has not been set. 51 A common technique is to use the write callback to store the incoming data 53 CURLOPT_WRITEDATA(3) is used to point to a struct or the buffer to store data
|
H A D | CURLOPT_HTTPGET.md | 31 Pass a long. If *useget* is 1, this forces the HTTP request to get back to 35 When setting CURLOPT_HTTPGET(3) to 1, libcurl automatically sets 36 CURLOPT_NOBODY(3) to 0 and CURLOPT_UPLOAD(3) to 0. 38 Setting this option to zero has no effect. Applications need to explicitly 39 select which HTTP request method to use, they cannot deselect a method. To 40 reset a handle to default method, consider curl_easy_reset(3). 57 /* use a GET to fetch this */
|
H A D | CURLOPT_TIMEOUT.md | 19 CURLOPT_TIMEOUT - maximum time the transfer is allowed to complete 33 from start to end. Normally, name lookups can take a considerable time and 44 queue the transfer, and that time is included. You are advised to explore 46 CURLOPT_PROGRESSFUNCTION(3) to implement your own timeout logic. 51 With CURLOPT_CONNECTTIMEOUT(3) set to 3 and CURLOPT_TIMEOUT(3) set 52 to 5, the operation can never last longer than 5 seconds. 54 With CURLOPT_CONNECTTIMEOUT(3) set to 4 and CURLOPT_TIMEOUT(3) set 55 to 2, the operation can never last longer than 2 seconds. 57 This option may cause libcurl to use the SIGALRM signal to timeout system 59 signals to be used unless CURLOPT_NOSIGNAL(3) is set. [all …]
|
H A D | CURLOPT_HTTPAUTH.md | 18 CURLOPT_HTTPAUTH - HTTP server authentication methods to try 30 Pass a long as parameter, which is set to a bitmask, to tell libcurl which 31 authentication method(s) you want it to use speaking to the remote server. 52 is a more secure way to do authentication over public networks than the 61 and that some servers require the client to use. 67 You can set the Bearer token to use with CURLOPT_XOAUTH2_BEARER(3). 75 for this to work. 80 Microsoft. It uses a challenge-response and hash concept similar to Digest, to 84 option to work, or build libcurl on Windows with SSPI support. 100 subject to a race condition. This behavior is subject to change in future [all …]
|
H A D | CURLOPT_POSTFIELDS.md | 21 CURLOPT_POSTFIELDS - data to POST to server 33 Pass a char pointer as parameter, pointing to the data buffer to use in an 48 You can use curl_easy_escape(3) to URL encode your data, if 49 necessary. It returns a pointer to an encoded string that can be passed as 52 Using CURLOPT_POSTFIELDS(3) implies setting CURLOPT_POST(3) to 1. 56 CURLOPT_POSTFIELDS(3) to an empty string, or set CURLOPT_POST(3) to 1 and 57 CURLOPT_POSTFIELDSIZE(3) to 0. 73 previous ones. Set it to NULL to disable its use again. 89 const char *data = "data to send"; 96 /* pass in a pointer to the data - libcurl does not copy */ [all …]
|
H A D | CURLOPT_HTTPHEADER.md | 36 Pass a pointer to a linked list of HTTP headers to pass to the server and/or 41 header list establishes the document-level MIME headers to prepend to the 65 CURLOPT_CUSTOMREQUEST(3) to change the method. 72 ones. Set it to NULL to disable its use again. 80 CURLOPT_HEADEROPT(3) to control the behavior. 101 headers can be set to override libcurl-generated values: 106 It defaults to "1.0" and should normally not be altered. 129 CONNECT request, you should to consider if that proxy is supposed to also get 132 Use CURLOPT_HEADEROPT(3) to make the headers only get sent to where you 133 intend them to get sent. [all …]
|
/curl/docs/libcurl/ |
H A D | curl_mime_data_cb.md | 45 *part* is the part's to assign contents to. 48 as shown by the above prototype. It may not be set to NULL. 50 *seekfunc* is a pointer to a seek callback function, with a signature as 57 may safely be set to NULL. This function is called upon mime structure 60 *arg* is a user defined argument to callback functions. 63 read data in order to send it to the peer - like if you ask it to upload or 70 it to stop the current transfer. 82 connection to pause. See curl_easy_pause(3) for further details. 84 The seek function gets called by libcurl to rewind input stream data or to 90 *CURL_SEEKFUNC_FAIL* to cause the upload operation to fail or [all …]
|
H A D | curl_easy_setopt.md | 35 curl_easy_setopt(3) is used to tell libcurl how to behave. By setting the 145 Data pointer to pass to the close socket callback. See 193 File to write cookies to. See CURLOPT_COOKIEJAR(3) 316 Data pointer to pass to the wildcard matching callback. See 496 Data pointer to pass to the RTSP interleave callback. See 555 Time to be below the speed to trigger low speed abort. See 675 Port number to connect to. See CURLOPT_PORT(3) 721 Data pointer to pass to the progress meter callback. See 901 **Deprecated option** Protocols to allow redirects to. See 922 Data pointer to pass to resolver start callback. See [all …]
|
H A D | libcurl-security.md | 45 line options. Write them to a protected file and use the -K option to avoid 109 A redirect to a file: URL would cause the libcurl to read (or write) arbitrary 181 Allowing your application to connect to local hosts, be it the same machine 188 Some users might be tempted to filter access to local resources or similar 206 CURLOPT_IPRESOLVE(3) to CURL_IPRESOLVE_V4 can be used to limit resolved 264 applications to disable it, to establish a connection to another host over the 347 to and tells the client to connect to a given IP+PORT. 355 many clients trying to connect to that third party, it could create a 363 to send an FTP PORT command to ask the server to connect to a third party host 367 hard to avoid. [all …]
|
H A D | libcurl-tutorial.md | 209 similar to this: 293 Of course, there are bugs left. We need to know about them to be able to fix 310 uploading to a remote FTP site is similar to uploading data to an HTTP server 327 is the custom pointer we set to point to a struct of ours to pass private data 468 libcurl to post it all to the remote site: 625 curl to go back to a plain GET request if you intend to do one as your next 833 HTTP URL is passed to the HTTP proxy to deliver back to libcurl. This happens 958 the way to go. 1145 The option to enable headers or to run custom FTP commands may be useful to 1193 does not have to exist to enable the parser, so a common way to just enable [all …]
|
H A D | libcurl-multi.md | 18 libcurl-multi - how to use the multi interface 36 and when to ask libcurl to get/send data. 65 you should add the easy handle to the multi handle with 83 to the calling application. 86 invoked to transfer data or do other work. The most convenient way is to use 88 libcurl again. The older API to accomplish the same thing is 90 select() or poll() calls in order to get to know when the transfers in the 112 with curl_multi_add_handle(3) to start another transfer. 117 to clean them up properly. 119 If you want to reuse an easy handle that was added to the multi handle for [all …]
|
/curl/docs/cmdline-opts/ |
H A D | ftp-port.md | 24 option makes curl use active mode. curl then commands the server to connect 25 back to the client's specified address and port, while passive mode asks the 26 server to setup an IP address and port for it to connect to. \<address\> 30 e.g. **eth0** to specify which interface's IP address you want to use (Unix only) 33 e.g. **192.168.10.1** to specify the exact IP address 36 e.g. **my.host.domain** to specify the machine 44 Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT 47 You can also append ":[start]-[end]" to the right of the address, to tell 48 curl what TCP port range to use. That means you specify a port range, from a 49 lower to a higher number. A single number works as well, but do note that it
|
H A D | connect-to.md | 4 Long: connect-to 6 Help: Connect to host2 instead of host1 14 - --connect-to example.com:443:example.net:8443 $URL 17 # `--connect-to` 19 For a request intended for the `HOST1:PORT1` pair, connect to `HOST2:PORT2` 20 instead. This option is only used to establish the network connection. It does 28 A hostname specified to this option is compared as a string, so it needs to 32 Example: redirect connects from the example.com hostname to 127.0.0.1 35 curl --connect-to example.com::127.0.0.1: https://example.com/ 37 Example: redirect connects from all hostnames to 127.0.0.1 independently of [all …]
|
H A D | upload-file.md | 7 Help: Transfer local FILE to destination 25 Upload the specified local file to the remote URL. 28 name to the end of the URL before the operation starts. You must use a 29 trailing slash (/) on the last directory to prove to curl that there is no 31 to use. 37 Use the filename `-` (a single dash) to use stdin instead of a given file. 39 `-` to use stdin in non-blocking mode to allow reading server output while 45 --upload-file + URL pair specifies what to upload and to where. curl also 47 multiple files to a single URL by using the same URL globbing style supported 50 When uploading to an SMTP server: the uploaded data is assumed to be RFC 5322 [all …]
|
H A D | location-trusted.md | 5 Help: As --location, but send secrets to other hosts 19 Instructs curl to like --location follow HTTP redirects, but permits it to 20 send credentials and other secrets along to other hosts than the initial one. 22 This may or may not introduce a security breach if the site redirects you to a 23 site to which you send this sensitive data to. Another host means that one or 26 This option also allows curl to pass long cookies set explicitly with --header.
|
/curl/tests/data/ |
H A D | test2054 | 30 Connect to specific host: use the first "connect-to" string that matches 34 …to foo::bar: --connect-to :123::456 --next http://www.example.com:%HTTPPORT/%TESTNUMBER --connect-…
|