Merge branch 'master' into HTTPS-proxy
This commit is contained in:
@@ -1,63 +1,55 @@
|
||||
_ _ ____ _
|
||||
___| | | | _ \| |
|
||||
/ __| | | | |_) | |
|
||||
| (__| |_| | _ <| |___
|
||||
\___|\___/|_| \_\_____|
|
||||
|
||||
libcurl's binary interface
|
||||
|
||||
ABI - Application Binary Interface
|
||||
----------------------------------
|
||||
==================================
|
||||
|
||||
"ABI" describes the low-level interface between an application program and a
|
||||
library. Calling conventions, function arguments, return values, struct
|
||||
sizes/defines and more.
|
||||
"ABI" describes the low-level interface between an application program and a
|
||||
library. Calling conventions, function arguments, return values, struct
|
||||
sizes/defines and more.
|
||||
|
||||
[Wikipedia has a longer description](http://en.wikipedia.org/wiki/Application_binary_interface)
|
||||
[Wikipedia has a longer description](https://en.wikipedia.org/wiki/Application_binary_interface)
|
||||
|
||||
Upgrades
|
||||
--------
|
||||
|
||||
In the vast majority of all cases, a typical libcurl upgrade does not break
|
||||
the ABI at all. Your application can remain using libcurl just as before,
|
||||
only with less bugs and possibly with added new features. You need to read
|
||||
the release notes, and if they mention an ABI break/soname bump, you may
|
||||
have to verify that your application still builds fine and uses libcurl as
|
||||
it now is defined to work.
|
||||
In the vast majority of all cases, a typical libcurl upgrade does not break
|
||||
the ABI at all. Your application can remain using libcurl just as before,
|
||||
only with less bugs and possibly with added new features. You need to read
|
||||
the release notes, and if they mention an ABI break/soname bump, you may have
|
||||
to verify that your application still builds fine and uses libcurl as it now
|
||||
is defined to work.
|
||||
|
||||
Version Numbers
|
||||
---------------
|
||||
|
||||
In libcurl land, you really can't tell by the libcurl version number if that
|
||||
libcurl is binary compatible or not with another libcurl version.
|
||||
In libcurl land, you really can't tell by the libcurl version number if that
|
||||
libcurl is binary compatible or not with another libcurl version.
|
||||
|
||||
Soname Bumps
|
||||
------------
|
||||
|
||||
Whenever there are changes done to the library that will cause an ABI
|
||||
breakage, that may require your application to get attention or possibly be
|
||||
changed to adhere to new things, we will bump the soname. Then the library
|
||||
will get a different output name and thus can in fact be installed in
|
||||
parallel with an older installed lib (on most systems). Thus, old
|
||||
applications built against the previous ABI version will remain working and
|
||||
using the older lib, while newer applications build and use the newer one.
|
||||
Whenever there are changes done to the library that will cause an ABI
|
||||
breakage, that may require your application to get attention or possibly be
|
||||
changed to adhere to new things, we will bump the soname. Then the library
|
||||
will get a different output name and thus can in fact be installed in
|
||||
parallel with an older installed lib (on most systems). Thus, old
|
||||
applications built against the previous ABI version will remain working and
|
||||
using the older lib, while newer applications build and use the newer one.
|
||||
|
||||
During the first seven years of libcurl releases, there have only been four
|
||||
ABI breakages.
|
||||
During the first seven years of libcurl releases, there have only been four
|
||||
ABI breakages.
|
||||
|
||||
We are determined to bump the SONAME as rarely as possible. Ideally, we
|
||||
never do it again.
|
||||
We are determined to bump the SONAME as rarely as possible. Ideally, we
|
||||
never do it again.
|
||||
|
||||
Downgrades
|
||||
----------
|
||||
|
||||
Going to an older libcurl version from one you're currently using can be a
|
||||
tricky thing. Mostly we add features and options to newer libcurls as that
|
||||
won't break ABI or hamper existing applications. This has the implication
|
||||
that going backwards may get you in a situation where you pick a libcurl
|
||||
that doesn't support the options your application needs. Or possibly you
|
||||
even downgrade so far so you cross an ABI break border and thus a different
|
||||
soname, and then your application may need to adapt to the modified ABI.
|
||||
Going to an older libcurl version from one you're currently using can be a
|
||||
tricky thing. Mostly we add features and options to newer libcurls as that
|
||||
won't break ABI or hamper existing applications. This has the implication
|
||||
that going backwards may get you in a situation where you pick a libcurl that
|
||||
doesn't support the options your application needs. Or possibly you even
|
||||
downgrade so far so you cross an ABI break border and thus a different
|
||||
soname, and then your application may need to adapt to the modified ABI.
|
||||
|
||||
History
|
||||
-------
|
||||
|
@@ -29,18 +29,19 @@ man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
|
||||
curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
|
||||
curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \
|
||||
curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \
|
||||
curl_strequal.3 curl_mprintf.3 curl_global_init.3 curl_global_cleanup.3 \
|
||||
curl_multi_add_handle.3 curl_multi_cleanup.3 curl_multi_fdset.3 \
|
||||
curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 \
|
||||
curl_multi_remove_handle.3 curl_share_cleanup.3 curl_share_init.3 \
|
||||
curl_share_setopt.3 libcurl.3 libcurl-easy.3 libcurl-multi.3 \
|
||||
libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
|
||||
curl_strequal.3 curl_mprintf.3 curl_global_init.3 \
|
||||
curl_global_cleanup.3 curl_multi_add_handle.3 curl_multi_cleanup.3 \
|
||||
curl_multi_fdset.3 curl_multi_info_read.3 curl_multi_init.3 \
|
||||
curl_multi_perform.3 curl_multi_remove_handle.3 curl_share_cleanup.3 \
|
||||
curl_share_init.3 curl_share_setopt.3 libcurl.3 libcurl-easy.3 \
|
||||
libcurl-multi.3 libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
|
||||
curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \
|
||||
libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \
|
||||
curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \
|
||||
curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \
|
||||
curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3 \
|
||||
curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3
|
||||
curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3 \
|
||||
libcurl-thread.3
|
||||
|
||||
HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
|
||||
curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \
|
||||
@@ -60,27 +61,28 @@ HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
|
||||
curl_easy_unescape.html curl_multi_setopt.html curl_multi_socket.html \
|
||||
curl_multi_timeout.html curl_formget.html curl_multi_assign.html \
|
||||
curl_easy_pause.html curl_easy_recv.html curl_easy_send.html \
|
||||
curl_multi_socket_action.html curl_multi_wait.html libcurl-symbols.html
|
||||
curl_multi_socket_action.html curl_multi_wait.html \
|
||||
libcurl-symbols.html libcurl-thread.html
|
||||
|
||||
PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \
|
||||
curl_easy_init.pdf curl_easy_perform.pdf curl_easy_setopt.pdf \
|
||||
curl_easy_duphandle.pdf curl_formadd.pdf curl_formfree.pdf \
|
||||
curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
|
||||
curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
|
||||
curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
|
||||
curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
|
||||
curl_escape.pdf curl_unescape.pdf curl_free.pdf curl_strequal.pdf \
|
||||
curl_mprintf.pdf curl_global_init.pdf curl_global_cleanup.pdf \
|
||||
curl_multi_add_handle.pdf curl_multi_cleanup.pdf curl_multi_fdset.pdf \
|
||||
curl_multi_info_read.pdf curl_multi_init.pdf curl_multi_perform.pdf \
|
||||
curl_multi_remove_handle.pdf curl_share_cleanup.pdf curl_share_init.pdf \
|
||||
curl_share_setopt.pdf libcurl.pdf libcurl-multi.pdf libcurl-easy.pdf \
|
||||
libcurl-share.pdf libcurl-errors.pdf curl_easy_strerror.pdf \
|
||||
curl_multi_strerror.pdf curl_share_strerror.pdf \
|
||||
curl_global_init_mem.pdf libcurl-tutorial.pdf curl_easy_reset.pdf \
|
||||
curl_easy_escape.pdf curl_easy_unescape.pdf curl_multi_setopt.pdf \
|
||||
curl_multi_socket.pdf curl_multi_timeout.pdf curl_formget.pdf \
|
||||
curl_multi_assign.pdf curl_easy_pause.pdf curl_easy_recv.pdf \
|
||||
curl_easy_send.pdf curl_multi_socket_action.pdf curl_multi_wait.pdf \
|
||||
libcurl-symbols.pdf
|
||||
curl_multi_remove_handle.pdf curl_share_cleanup.pdf \
|
||||
curl_share_init.pdf curl_share_setopt.pdf libcurl.pdf \
|
||||
libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \
|
||||
libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \
|
||||
curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \
|
||||
curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \
|
||||
curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \
|
||||
curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \
|
||||
curl_easy_recv.pdf curl_easy_send.pdf curl_multi_socket_action.pdf \
|
||||
curl_multi_wait.pdf libcurl-symbols.pdf libcurl-thread.pdf
|
||||
|
||||
m4macrodir = $(datadir)/aclocal
|
||||
dist_m4macro_DATA = libcurl.m4
|
||||
|
@@ -26,7 +26,8 @@ curl_easy_escape - URL encodes the given string
|
||||
.SH SYNOPSIS
|
||||
.B #include <curl/curl.h>
|
||||
.sp
|
||||
.BI "char *curl_easy_escape( CURL *" curl ", char *" string ", int "length " );"
|
||||
.BI "char *curl_easy_escape( CURL *" curl ", const char *" string
|
||||
.BI ", int "length " );"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
This function converts the given input \fIstring\fP to a URL encoded string
|
||||
@@ -48,10 +49,10 @@ CURL *curl = curl_easy_init();
|
||||
if(curl) {
|
||||
char *output = curl_easy_escape(curl, "data to convert", 15);
|
||||
if(output) {
|
||||
printf("Encoded: %s\n", output);
|
||||
printf("Encoded: %s\\n", output);
|
||||
curl_free(output);
|
||||
}
|
||||
}}
|
||||
}
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_unescape "(3), " curl_free "(3), " RFC 3986
|
||||
|
@@ -34,256 +34,190 @@ third argument \fBMUST\fP be a pointer to a long, a pointer to a char *, a
|
||||
pointer to a struct curl_slist * or a pointer to a double (as this
|
||||
documentation describes further down). The data pointed-to will be filled in
|
||||
accordingly and can be relied upon only if the function returns CURLE_OK. Use
|
||||
this function AFTER a performed transfer if you want to get transfer- oriented
|
||||
this function AFTER a performed transfer if you want to get transfer related
|
||||
data.
|
||||
|
||||
You should not free the memory returned by this function unless it is
|
||||
explicitly mentioned below.
|
||||
.SH AVAILABLE INFORMATION
|
||||
The following information can be extracted:
|
||||
|
||||
.IP CURLINFO_EFFECTIVE_URL
|
||||
Pass a pointer to a char pointer to receive the last used effective URL.
|
||||
Last used URL.
|
||||
See \fICURLINFO_EFFECTIVE_URL(3)\fP
|
||||
|
||||
.IP CURLINFO_RESPONSE_CODE
|
||||
Pass a pointer to a long to receive the last received HTTP, FTP or SMTP
|
||||
response code. This option was previously known as CURLINFO_HTTP_CODE in
|
||||
libcurl 7.10.7 and earlier. The value will be zero if no server response code
|
||||
has been received. Note that a proxy's CONNECT response should be read with
|
||||
\fICURLINFO_HTTP_CONNECTCODE\fP and not this.
|
||||
Last received response code.
|
||||
See \fICURLINFO_RESPONSE_CODE(3)\fP
|
||||
|
||||
Support for SMTP responses added in 7.25.0.
|
||||
.IP CURLINFO_HTTP_CONNECTCODE
|
||||
Pass a pointer to a long to receive the last received proxy response code to a
|
||||
CONNECT request.
|
||||
Last proxy CONNECT response code.
|
||||
See \fICURLINFO_HTTP_CONNECTCODE(3)\fP
|
||||
|
||||
.IP CURLINFO_FILETIME
|
||||
Pass a pointer to a long to receive the remote time of the retrieved document
|
||||
(in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get
|
||||
-1, it can be because of many reasons (unknown, the server hides it or the
|
||||
server doesn't support the command that tells document time etc) and the time
|
||||
of the document is unknown. Note that you must tell the server to collect this
|
||||
information before the transfer is made, by using the
|
||||
\fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or you will
|
||||
unconditionally get a -1 back. (Added in 7.5)
|
||||
Remote time of the retrieved document.
|
||||
See \fICURLINFO_FILETIME(3)\fP
|
||||
|
||||
.IP CURLINFO_TOTAL_TIME
|
||||
Pass a pointer to a double to receive the total time in seconds for the
|
||||
previous transfer, including name resolving, TCP connect etc.
|
||||
Total time of previous transfer.
|
||||
See \fICURLINFO_TOTAL_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_NAMELOOKUP_TIME
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the name resolving was completed.
|
||||
Time from start until name resolving completed.
|
||||
See \fICURLINFO_NAMELOOKUP_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_CONNECT_TIME
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the connect to the remote host (or proxy) was completed.
|
||||
Time from start until remote host or proxy completed.
|
||||
See \fICURLINFO_CONNECT_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_APPCONNECT_TIME
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the SSL/SSH connect/handshake to the remote host was completed.
|
||||
This time is most often very near to the PRETRANSFER time, except for cases
|
||||
such as HTTP pipelining where the pretransfer time can be delayed due to waits
|
||||
in line for the pipeline and more. (Added in 7.19.0)
|
||||
Time from start until SSL/SSH handshake completed.
|
||||
See \fICURLINFO_APPCONNECT_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_PRETRANSFER_TIME
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the file transfer is just about to begin. This includes all
|
||||
pre-transfer commands and negotiations that are specific to the particular
|
||||
protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
|
||||
specific request that triggers a transfer.
|
||||
Time from start until just before the transfer begins.
|
||||
See \fICURLINFO_PRETRANSFER_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_STARTTRANSFER_TIME
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the first byte is received by libcurl. This includes
|
||||
CURLINFO_PRETRANSFER_TIME and also the time the server needs to calculate the
|
||||
result.
|
||||
Time from start until just when the first byte is received.
|
||||
See \fICURLINFO_STARTTRANSFER_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_REDIRECT_TIME
|
||||
Pass a pointer to a double to receive the total time, in seconds, it took for
|
||||
all redirection steps include name lookup, connect, pretransfer and transfer
|
||||
before final transaction was started. CURLINFO_REDIRECT_TIME contains the
|
||||
complete execution time for multiple redirections. (Added in 7.9.7)
|
||||
Time taken for all redirect steps before the final transfer.
|
||||
See \fICURLINFO_REDIRECT_TIME(3)\fP
|
||||
|
||||
.IP CURLINFO_REDIRECT_COUNT
|
||||
Pass a pointer to a long to receive the total number of redirections that were
|
||||
actually followed. (Added in 7.9.7)
|
||||
Total number of redirects that were followed.
|
||||
See \fICURLINFO_REDIRECT_COUNT(3)\fP
|
||||
|
||||
.IP CURLINFO_REDIRECT_URL
|
||||
Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP
|
||||
take you to if you would enable \fICURLOPT_FOLLOWLOCATION(3)\fP. This can come
|
||||
very handy if you think using the built-in libcurl redirect logic isn't good
|
||||
enough for you but you would still prefer to avoid implementing all the magic
|
||||
of figuring out the new URL. (Added in 7.18.2)
|
||||
URL a redirect would take you to, had you enabled redirects.
|
||||
See \fICURLINFO_REDIRECT_URL(3)\fP
|
||||
|
||||
.IP CURLINFO_SIZE_UPLOAD
|
||||
Pass a pointer to a double to receive the total amount of bytes that were
|
||||
uploaded.
|
||||
Number of bytes uploaded.
|
||||
See \fICURLINFO_SIZE_UPLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_SIZE_DOWNLOAD
|
||||
Pass a pointer to a double to receive the total amount of bytes that were
|
||||
downloaded. The amount is only for the latest transfer and will be reset again
|
||||
for each new transfer. This counts actual payload data, what's also commonly
|
||||
called body. All meta and header data are excluded and will not be counted in
|
||||
this number.
|
||||
Number of bytes downloaded.
|
||||
See \fICURLINFO_SIZE_DOWNLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_SPEED_DOWNLOAD
|
||||
Pass a pointer to a double to receive the average download speed that curl
|
||||
measured for the complete download. Measured in bytes/second.
|
||||
Average download speed.
|
||||
See \fICURLINFO_SPEED_DOWNLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_SPEED_UPLOAD
|
||||
Pass a pointer to a double to receive the average upload speed that curl
|
||||
measured for the complete upload. Measured in bytes/second.
|
||||
Average upload speed.
|
||||
See \fICURLINFO_SPEED_UPLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_HEADER_SIZE
|
||||
Pass a pointer to a long to receive the total size of all the headers
|
||||
received. Measured in number of bytes.
|
||||
Number of bytes of all headers received.
|
||||
See \fICURLINFO_HEADER_SIZE(3)\fP
|
||||
|
||||
.IP CURLINFO_REQUEST_SIZE
|
||||
Pass a pointer to a long to receive the total size of the issued
|
||||
requests. This is so far only for HTTP requests. Note that this may be more
|
||||
than one request if FOLLOWLOCATION is true.
|
||||
Number of bytes sent in the issued HTTP requests.
|
||||
See \fICURLINFO_REQUEST_SIZE(3)\fP
|
||||
|
||||
.IP CURLINFO_SSL_VERIFYRESULT
|
||||
Pass a pointer to a long to receive the result of the certification
|
||||
verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP
|
||||
option to \fIcurl_easy_setopt(3)\fP).
|
||||
Certificate verification result.
|
||||
See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
|
||||
|
||||
.IP CURLINFO_SSL_ENGINES
|
||||
Pass the address of a 'struct curl_slist *' to receive a linked-list of
|
||||
OpenSSL crypto-engines supported. Note that engines are normally implemented
|
||||
in separate dynamic libraries. Hence not all the returned engines may be
|
||||
available at run-time. \fBNOTE:\fP you must call \fIcurl_slist_free_all(3)\fP
|
||||
on the list pointer once you're done with it, as libcurl will not free the
|
||||
data for you. (Added in 7.12.3)
|
||||
A list of OpenSSL crypto engines.
|
||||
See \fICURLINFO_SSL_ENGINES(3)\fP
|
||||
|
||||
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
|
||||
Pass a pointer to a double to receive the content-length of the download. This
|
||||
is the value read from the Content-Length: field. Since 7.19.4, this returns -1
|
||||
if the size isn't known.
|
||||
Content length from the Content-Length header.
|
||||
See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_CONTENT_LENGTH_UPLOAD
|
||||
Pass a pointer to a double to receive the specified size of the upload. Since
|
||||
7.19.4, this returns -1 if the size isn't known.
|
||||
Upload size.
|
||||
See \fICURLINFO_CONTENT_LENGTH_UPLOAD(3)\fP
|
||||
|
||||
.IP CURLINFO_CONTENT_TYPE
|
||||
Pass a pointer to a char pointer to receive the content-type of the downloaded
|
||||
object. This is the value read from the Content-Type: field. If you get NULL,
|
||||
it means that the server didn't send a valid Content-Type header or that the
|
||||
protocol used doesn't support this.
|
||||
Content type from the Content-Type header.
|
||||
See \fICURLINFO_CONTENT_TYPE(3)\fP
|
||||
|
||||
.IP CURLINFO_PRIVATE
|
||||
Pass a pointer to a char pointer to receive the pointer to the private data
|
||||
associated with the curl handle (set with the \fICURLOPT_PRIVATE(3)\fP option
|
||||
to \fIcurl_easy_setopt(3)\fP). Please note that for internal reasons, the
|
||||
value is returned as a char pointer, although effectively being a 'void *'.
|
||||
(Added in 7.10.3)
|
||||
User's private data pointer.
|
||||
See \fICURLINFO_PRIVATE(3)\fP
|
||||
|
||||
.IP CURLINFO_HTTPAUTH_AVAIL
|
||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||
method(s) available. The meaning of the bits is explained in the
|
||||
\fICURLOPT_HTTPAUTH(3)\fP option for \fIcurl_easy_setopt(3)\fP. (Added in
|
||||
7.10.8)
|
||||
Available HTTP authentication methods.
|
||||
See \fICURLINFO_HTTPAUTH_AVAIL(3)\fP
|
||||
|
||||
.IP CURLINFO_PROXYAUTH_AVAIL
|
||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||
method(s) available for your proxy authentication. (Added in 7.10.8)
|
||||
Available HTTP proxy authentication methods.
|
||||
See \fICURLINFO_PROXYAUTH_AVAIL(3)\fP
|
||||
|
||||
.IP CURLINFO_OS_ERRNO
|
||||
Pass a pointer to a long to receive the errno variable from a connect failure.
|
||||
Note that the value is only set on failure, it is not reset upon a
|
||||
successful operation. (Added in 7.12.2)
|
||||
The errno from the last failure to connect.
|
||||
See \fICURLINFO_OS_ERRNO(3)\fP
|
||||
|
||||
.IP CURLINFO_NUM_CONNECTS
|
||||
Pass a pointer to a long to receive how many new connections libcurl had to
|
||||
create to achieve the previous transfer (only the successful connects are
|
||||
counted). Combined with \fICURLINFO_REDIRECT_COUNT\fP you are able to know
|
||||
how many times libcurl successfully reused existing connection(s) or not. See
|
||||
the Connection Options of \fIcurl_easy_setopt(3)\fP to see how libcurl tries
|
||||
to make persistent connections to save time. (Added in 7.12.3)
|
||||
Number of new successful connections used for previous transfer.
|
||||
See \fICURLINFO_NUM_CONNECTS(3)\fP
|
||||
|
||||
.IP CURLINFO_PRIMARY_IP
|
||||
Pass a pointer to a char pointer to receive the pointer to a zero-terminated
|
||||
string holding the IP address of the most recent connection done with this
|
||||
\fBcurl\fP handle. This string may be IPv6 if that's enabled. Note that you
|
||||
get a pointer to a memory area that will be re-used at next request so you
|
||||
need to copy the string if you want to keep the information. (Added in 7.19.0)
|
||||
IP address of the last connection.
|
||||
See \fICURLINFO_PRIMARY_IP(3)\fP
|
||||
|
||||
.IP CURLINFO_PRIMARY_PORT
|
||||
Pass a pointer to a long to receive the destination port of the most recent
|
||||
connection done with this \fBcurl\fP handle. (Added in 7.21.0)
|
||||
Port of the last connection.
|
||||
See \fICURLINFO_PRIMARY_PORT(3)\fP
|
||||
|
||||
.IP CURLINFO_LOCAL_IP
|
||||
Pass a pointer to a char pointer to receive the pointer to a zero-terminated
|
||||
string holding the local (source) IP address of the most recent connection done
|
||||
with this \fBcurl\fP handle. This string may be IPv6 if that's enabled. The
|
||||
same restrictions apply as to \fICURLINFO_PRIMARY_IP\fP. (Added in 7.21.0)
|
||||
Local-end IP address of last connection.
|
||||
See \fICURLINFO_LOCAL_IP(3)\fP
|
||||
|
||||
.IP CURLINFO_LOCAL_PORT
|
||||
Pass a pointer to a long to receive the local (source) port of the most recent
|
||||
connection done with this \fBcurl\fP handle. (Added in 7.21.0)
|
||||
Local-end port of last connection.
|
||||
See \fICURLINFO_LOCAL_PORT(3)\fP
|
||||
|
||||
.IP CURLINFO_COOKIELIST
|
||||
Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all
|
||||
cookies cURL knows (expired ones, too). Don't forget to
|
||||
\fIcurl_slist_free_all(3)\fP the list after it has been used. If there are no
|
||||
cookies (cookies for the handle have not been enabled or simply none have been
|
||||
received) 'struct curl_slist *' will be set to point to NULL. (Added in
|
||||
7.14.1)
|
||||
List of all known cookies.
|
||||
See \fICURLINFO_COOKIELIST(3)\fP
|
||||
|
||||
.IP CURLINFO_LASTSOCKET
|
||||
Pass a pointer to a long to receive the last socket used by this curl
|
||||
session. If the socket is no longer valid, -1 is returned. When you finish
|
||||
working with the socket, you must call curl_easy_cleanup() as usual and let
|
||||
libcurl close the socket and cleanup other resources associated with the
|
||||
handle. This is typically used in combination with
|
||||
\fICURLOPT_CONNECT_ONLY(3)\fP. (Added in 7.15.2)
|
||||
Last socket used.
|
||||
See \fICURLINFO_LASTSOCKET(3)\fP
|
||||
|
||||
.IP CURLINFO_ACTIVESOCKET
|
||||
The session's active socket.
|
||||
See \fICURLINFO_ACTIVESOCKET(3)\fP
|
||||
|
||||
NOTE: this API is not really working on win64, since the SOCKET type on win64
|
||||
is 64 bit large while its 'long' is only 32 bits.
|
||||
.IP CURLINFO_FTP_ENTRY_PATH
|
||||
Pass a pointer to a char pointer to receive a pointer to a string holding the
|
||||
path of the entry path. That is the initial path libcurl ended up in when
|
||||
logging on to the remote FTP server. This stores a NULL as pointer if
|
||||
something is wrong. (Added in 7.15.4)
|
||||
The entry path after logging in to an FTP server.
|
||||
See \fICURLINFO_FTP_ENTRY_PATH(3)\fP
|
||||
|
||||
Also works for SFTP since 7.21.4
|
||||
.IP CURLINFO_CERTINFO
|
||||
Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to
|
||||
struct that holds a number of linked lists with info about the certificate
|
||||
chain, assuming you had \fICURLOPT_CERTINFO(3)\fP enabled when the previous
|
||||
request was done. The struct reports how many certs it found and then you can
|
||||
extract info for each of those certs by following the linked lists. The info
|
||||
chain is provided in a series of data in the format "name:content" where the
|
||||
content is for the specific named data. See also the certinfo.c example. NOTE:
|
||||
this option is only available in libcurl built with OpenSSL, NSS or GSKit
|
||||
support. (Added in 7.19.1)
|
||||
Certificate chain.
|
||||
See \fICURLINFO_CERTINFO(3)\fP
|
||||
|
||||
.IP CURLINFO_TLS_SESSION
|
||||
Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be
|
||||
initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an
|
||||
enum indicating the SSL library used for the handshake and the respective
|
||||
internal TLS session structure of this underlying SSL library.
|
||||
|
||||
This may then be used to extract certificate information in a format
|
||||
convenient for further processing, such as manual validation. NOTE: this
|
||||
option may not be available for all SSL backends; unsupported SSL backends
|
||||
will return 'CURLSSLBACKEND_NONE' to indicate that they are not supported;
|
||||
this does not mean that no SSL backend was used. (Added in 7.34.0)
|
||||
|
||||
.nf
|
||||
struct curl_tlssessioninfo {
|
||||
curl_sslbackend backend;
|
||||
void *internals;
|
||||
};
|
||||
.fi
|
||||
|
||||
The \fIinternals\fP struct member will point to a TLS library specific pointer
|
||||
with the following underlying types:
|
||||
.RS
|
||||
.IP OpenSSL
|
||||
SSL_CTX *
|
||||
.IP GnuTLS
|
||||
gnutls_session_t
|
||||
.IP NSS
|
||||
PRFileDesc *
|
||||
.IP gskit
|
||||
gsk_handle
|
||||
.RE
|
||||
TLS session info that can be used for further processing.
|
||||
See \fICURLINFO_TLS_SESSION(3)\fP
|
||||
|
||||
.IP CURLINFO_CONDITION_UNMET
|
||||
Pass a pointer to a long to receive the number 1 if the condition provided in
|
||||
the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
|
||||
if this returns a 1 you know that the reason you didn't get data in return is
|
||||
because it didn't fulfill the condition. The long ths argument points to will
|
||||
get a zero stored if the condition instead was met. (Added in 7.19.4)
|
||||
Whether or not a time conditional was met.
|
||||
See \fICURLINFO_CONDITION_UNMET(3)\fP
|
||||
|
||||
.IP CURLINFO_RTSP_SESSION_ID
|
||||
Pass a pointer to a char pointer to receive a pointer to a string holding the
|
||||
most recent RTSP Session ID.
|
||||
RTSP session ID.
|
||||
See \fICURLINFO_RTSP_SESSION_ID(3)\fP
|
||||
|
||||
Applications wishing to resume an RTSP session on another connection should
|
||||
retrieve this info before closing the active connection.
|
||||
.IP CURLINFO_RTSP_CLIENT_CSEQ
|
||||
Pass a pointer to a long to receive the next CSeq that will be used by the
|
||||
application.
|
||||
RTSP CSeq that will next be used.
|
||||
See \fICURLINFO_RTSP_CLIENT_CSEQ(3)\fP
|
||||
|
||||
.IP CURLINFO_RTSP_SERVER_CSEQ
|
||||
Pass a pointer to a long to receive the next server CSeq that will be expected
|
||||
by the application.
|
||||
RTSP CSeq that will next be expected.
|
||||
See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP
|
||||
|
||||
\fI(NOTE: listening for server initiated requests is currently
|
||||
unimplemented).\fP
|
||||
|
||||
Applications wishing to resume an RTSP session on another connection should
|
||||
retrieve this info before closing the active connection.
|
||||
.IP CURLINFO_RTSP_CSEQ_RECV
|
||||
Pass a pointer to a long to receive the most recently received CSeq from the
|
||||
server. If your application encounters a \fICURLE_RTSP_CSEQ_ERROR\fP then you
|
||||
may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this value.
|
||||
RTSP CSeq last received.
|
||||
See \fICURLINFO_RTSP_CSEQ_RECV(3)\fP
|
||||
|
||||
.SH TIMES
|
||||
.nf
|
||||
An overview of the six time values available from curl_easy_getinfo()
|
||||
|
@@ -62,7 +62,7 @@ function is called again without this bit set. Thus, the read callback
|
||||
.IP CURLPAUSE_ALL
|
||||
Convenience define that pauses both directions.
|
||||
.IP CURLPAUSE_CONT
|
||||
Convenience define that unpauses both directions
|
||||
Convenience define that unpauses both directions.
|
||||
.SH RETURN VALUE
|
||||
CURLE_OK (zero) means that the option was set properly, and a non-zero return
|
||||
code means something wrong occurred after the new state was set. See the
|
||||
|
@@ -42,14 +42,14 @@ buffer. The variable \fBn\fP points to will receive the number of received
|
||||
bytes.
|
||||
|
||||
To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before
|
||||
calling \fIcurl_easy_perform(3)\fP or \cIcurl_multi_perform(3)\fP. Note that
|
||||
calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP. Note that
|
||||
\fIcurl_easy_recv(3)\fP does not work on connections that were created without
|
||||
this option.
|
||||
|
||||
You must ensure that the socket has data to read before calling
|
||||
\fIcurl_easy_recv(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
|
||||
the socket is used in non-blocking mode internally. Use
|
||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
|
||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the
|
||||
socket; use your operating system facilities like \fIselect(2)\fP to check if
|
||||
it has any data you can read.
|
||||
.SH AVAILABILITY
|
||||
|
@@ -47,7 +47,7 @@ this option.
|
||||
You must ensure that the socket is writable before calling
|
||||
\fIcurl_easy_send(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
|
||||
the socket is used in non-blocking mode internally. Use
|
||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
|
||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the
|
||||
socket; use your operating system facilities like \fIselect(2)\fP to check if
|
||||
it can be written to.
|
||||
.SH AVAILABILITY
|
||||
|
@@ -153,6 +153,8 @@ Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(
|
||||
Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP
|
||||
.IP CURLOPT_REDIR_PROTOCOLS
|
||||
Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
|
||||
.IP CURLOPT_DEFAULT_PROTOCOL
|
||||
Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP
|
||||
.IP CURLOPT_PROXY
|
||||
Proxy to use. See \fICURLOPT_PROXY(3)\fP
|
||||
.IP CURLOPT_PROXYPORT
|
||||
@@ -295,6 +297,13 @@ Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
|
||||
100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
|
||||
.IP CURLOPT_PIPEWAIT
|
||||
Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
|
||||
.IP CURLOPT_STREAM_DEPENDS
|
||||
This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP
|
||||
.IP CURLOPT_STREAM_DEPENDS_E
|
||||
This HTTP/2 stream depends on another exclusively. See
|
||||
\fICURLOPT_STREAM_DEPENDS_E(3)\fP
|
||||
.IP CURLOPT_STREAM_WEIGHT
|
||||
Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP
|
||||
.SH SMTP OPTIONS
|
||||
.IP CURLOPT_MAIL_FROM
|
||||
Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
|
||||
@@ -527,8 +536,8 @@ if(curl) {
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
|
||||
res = curl_easy_perform(curl);
|
||||
curl_easy_cleanup(curl);
|
||||
}}
|
||||
}
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3), "
|
||||
.BR curl_multi_setopt "(3), "
|
||||
.BR curl_easy_getinfo "(3), " curl_multi_setopt "(3), "
|
||||
|
@@ -26,8 +26,8 @@ curl_easy_unescape - URL decodes the given string
|
||||
.SH SYNOPSIS
|
||||
.B #include <curl/curl.h>
|
||||
.sp
|
||||
.BI "char *curl_easy_unescape( CURL *" curl ", char *" url ", int "inlength
|
||||
.BI ", int *" outlength " );"
|
||||
.BI "char *curl_easy_unescape( CURL *" curl ", const char *" url
|
||||
.BI ", int "inlength ", int *" outlength " );"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
This function converts the given URL encoded input string to a "plain string"
|
||||
|
@@ -25,7 +25,7 @@ curl_escape - URL encodes the given string
|
||||
.SH SYNOPSIS
|
||||
.B #include <curl/curl.h>
|
||||
.sp
|
||||
.BI "char *curl_escape( char *" url ", int "length " );"
|
||||
.BI "char *curl_escape( const char *" url ", int "length " );"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
Obsolete function. Use \fIcurl_easy_escape(3)\fP instead!
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -83,7 +83,18 @@ to send away. libcurl will use the pointer and refer to the data in your
|
||||
application, so you must make sure it remains until curl no longer needs it.
|
||||
If the data isn't NUL-terminated, or if you'd like it to contain zero bytes,
|
||||
you must set its length with \fBCURLFORM_CONTENTSLENGTH\fP.
|
||||
.IP CURLFORM_CONTENTLEN
|
||||
followed by a curl_off_t value giving the length of the contents. Note that
|
||||
for \fICURLFORM_STREAM\fP contents, this option is mandatory.
|
||||
|
||||
If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on
|
||||
the contents to figure out the size. If you really want to send a zero byte
|
||||
content then you must make sure strlen() on the data pointer returns zero.
|
||||
|
||||
(Option added in 7.46.0)
|
||||
.IP CURLFORM_CONTENTSLENGTH
|
||||
(This option is deprecated. Use \fICURLFORM_CONTENTLEN\fP instead!)
|
||||
|
||||
followed by a long giving the length of the contents. Note that for
|
||||
\fICURLFORM_STREAM\fP contents, this option is mandatory.
|
||||
|
||||
@@ -103,6 +114,9 @@ given file match one of the internally known file extensions. For
|
||||
providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename
|
||||
(and each \fICURLFORM_FILE\fP is allowed to have a
|
||||
\fICURLFORM_CONTENTTYPE\fP).
|
||||
|
||||
The given upload file has to exist in its full in the file system already when
|
||||
the upload starts, as libcurl needs to read the correct file size beforehand.
|
||||
.IP CURLFORM_CONTENTTYPE
|
||||
is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a
|
||||
string which provides the content-type for this part, possibly instead of an
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -26,7 +26,7 @@ curl_formget - serialize a previously built multipart/formdata HTTP POST chain
|
||||
.nf
|
||||
.B #include <curl/curl.h>
|
||||
|
||||
void curl_formget(struct curl_httppost * form, void *userp,
|
||||
int curl_formget(struct curl_httppost * form, void *userp,
|
||||
curl_formget_callback append );
|
||||
.SH DESCRIPTION
|
||||
curl_formget() is used to serialize data previously built/appended with
|
||||
|
@@ -36,11 +36,13 @@ This function works exactly as \fIcurl_global_init(3)\fP with one addition: it
|
||||
allows the application to set callbacks to replace the otherwise used internal
|
||||
memory functions.
|
||||
|
||||
This man page only adds documentation for the callbacks, see the
|
||||
\fIcurl_global_init(3)\fP man page for all the rest. When you use this
|
||||
function, all callback arguments must be set to valid function pointers.
|
||||
If you are using libcurl from multiple threads or libcurl was built with the
|
||||
threaded resolver option then the callback functions must be thread safe. The
|
||||
threaded resolver is a common build option to enable (and in some cases the
|
||||
default) so we strongly urge you to make your callback functions thread safe.
|
||||
|
||||
The prototypes for the given callbacks should match these:
|
||||
All callback arguments must be set to valid function pointers. The
|
||||
prototypes for the given callbacks must match these:
|
||||
.IP "void *malloc_callback(size_t size);"
|
||||
To replace malloc()
|
||||
.IP "void free_callback(void *ptr);"
|
||||
@@ -51,6 +53,9 @@ To replace realloc()
|
||||
To replace strdup()
|
||||
.IP "void *calloc_callback(size_t nmemb, size_t size);"
|
||||
To replace calloc()
|
||||
.RE
|
||||
This function is otherwise the same as \fIcurl_global_init(3)\fP, please refer
|
||||
to that man page for documentation.
|
||||
.SH "CAUTION"
|
||||
Manipulating these gives considerable powers to the application to severely
|
||||
screw things up for libcurl. Take care!
|
||||
|
@@ -31,7 +31,7 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);
|
||||
Adds a standard easy handle to the multi stack. This function call will make
|
||||
this \fImulti_handle\fP control the specified \fIeasy_handle\fP.
|
||||
|
||||
While an easy handle is added to a multi stack, you can not and you must not
|
||||
While an easy handle is added to a multi stack, you cannot and you must not
|
||||
use \fIcurl_easy_perform(3)\fP on that handle. After having removed the easy
|
||||
handle from the multi stack again, it is perfectly fine to use it with the
|
||||
easy interface again.
|
||||
|
@@ -28,7 +28,7 @@ curl_multi_remove_handle - remove an easy handle from a multi session
|
||||
CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
Removes a given \fIeasy_handle\fI from the \fImulti_handle\fI. This will make
|
||||
Removes a given \fIeasy_handle\fP from the \fImulti_handle\fP. This will make
|
||||
the specified easy handle be removed from this multi handle's control.
|
||||
|
||||
When the easy handle has been removed from a multi stack, it is again
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -46,6 +46,10 @@ pointer is returned.
|
||||
struct curl_slist *slist=NULL;
|
||||
|
||||
slist = curl_slist_append(slist, "pragma:");
|
||||
|
||||
if (slist == NULL)
|
||||
return -1;
|
||||
|
||||
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
|
||||
|
||||
curl_easy_perform(handle);
|
||||
|
@@ -25,7 +25,7 @@ curl_unescape - URL decodes the given string
|
||||
.SH SYNOPSIS
|
||||
.B #include <curl/curl.h>
|
||||
.sp
|
||||
.BI "char *curl_unescape( char *" url ", int "length " );"
|
||||
.BI "char *curl_unescape( const char *" url ", int "length " );"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
Obsolete function. Use \fIcurl_easy_unescape(3)\fP instead!
|
||||
|
@@ -17,6 +17,7 @@
|
||||
<br><a href="libcurl-share.html">libcurl-share</a>
|
||||
<br><a href="libcurl-errors.html">libcurl-errors</a>
|
||||
<br><a href="libcurl-tutorial.html">libcurl-tutorial</a>
|
||||
<br><a href="libcurl-thread.html">libcurl-thread</a>
|
||||
|
||||
<H2>Library Functions (A-Z)</H2>
|
||||
<a href="curl_easy_cleanup.html">curl_easy_cleanup</A>
|
||||
|
@@ -247,6 +247,10 @@ Chunk callback reported error.
|
||||
.IP "CURLE_NO_CONNECTION_AVAILABLE (89)"
|
||||
(For internal use only, will never be returned by libcurl) No connection
|
||||
available, the session will be queued. (added in 7.30.0)
|
||||
.IP "CURLE_SSL_PINNEDPUBKEYNOTMATCH (90)"
|
||||
Failed to match the pinned key specified with \fICURLOPT_PINNEDPUBLICKEY(3)\fP.
|
||||
.IP "CURLE_SSL_INVALIDCERTSTATUS (91)"
|
||||
Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP.
|
||||
.IP "CURLE_OBSOLETE*"
|
||||
These error codes will never be returned. They were used in an old libcurl
|
||||
version and are currently unused.
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -51,28 +51,27 @@ To use the multi interface, you must first create a 'multi handle' with
|
||||
\fIcurl_multi_init(3)\fP. This handle is then used as input to all further
|
||||
curl_multi_* functions.
|
||||
|
||||
With a multi handle and the multi interface you can do any amount of
|
||||
simultaneous transfers in parallel. Each single transfer is built up around an
|
||||
easy handle. You must create the easy handles you need, and setup the
|
||||
appropriate options for each easy handle, as outlined in the \fIlibcurl(3)\fP
|
||||
man page, using \fIcurl_easy_setopt(3)\fP.
|
||||
With a multi handle and the multi interface you can do several simultaneous
|
||||
transfers in parallel. Each single transfer is built up around an easy
|
||||
handle. You create all the easy handles you need, and setup the appropriate
|
||||
options for each easy handle using \fIcurl_easy_setopt(3)\fP.
|
||||
|
||||
There are two flavours of the multi interface, the select() oriented one and
|
||||
the event based one we called multi_socket. You will benefit from reading
|
||||
through the description of both versions to full understand how they work and
|
||||
the event based one we call multi_socket. You will benefit from reading
|
||||
through the description of both versions to fully understand how they work and
|
||||
differentiate. We start out with the select() oriented version.
|
||||
|
||||
When an easy handle is setup for a transfer, then instead of using
|
||||
When an easy handle is setup and ready for transfer, then instead of using
|
||||
\fIcurl_easy_perform(3)\fP like when using the easy interface for transfers,
|
||||
you should add the easy handle to the multi handle with
|
||||
\fIcurl_multi_add_handle(3)\fP. The multi handle is sometimes referred to as a
|
||||
\'multi stack\' because of the fact that it may hold a large amount of easy
|
||||
handles.
|
||||
\fIcurl_multi_add_handle(3)\fP. You can add more easy handles to a multi
|
||||
handle at any point, even if other transfers are already running.
|
||||
|
||||
Should you change your mind, the easy handle is again removed from the multi
|
||||
stack using \fIcurl_multi_remove_handle(3)\fP. Once removed from the multi
|
||||
handle, you can again use other easy interface functions like
|
||||
\fIcurl_easy_perform(3)\fP on the handle or whatever you think is necessary.
|
||||
\fIcurl_easy_perform(3)\fP on the handle or whatever you think is
|
||||
necessary. You can remove handles at any point in time during transfers.
|
||||
|
||||
Adding the easy handle to the multi handle does not start the transfer.
|
||||
Remember that one of the main ideas with this interface is to let your
|
||||
@@ -84,16 +83,16 @@ current transfers in the multi stack that are ready to transfer anything. It
|
||||
may be all, it may be none. When there's nothing more to do for now, it
|
||||
returns back to the calling application.
|
||||
|
||||
Your application can acquire knowledge from libcurl when it would like to get
|
||||
invoked to transfer data, so that you don't have to busy-loop and call that
|
||||
\fIcurl_multi_perform(3)\fP like crazy. \fIcurl_multi_fdset(3)\fP offers an
|
||||
interface using which you can extract fd_sets from libcurl to use in select()
|
||||
or poll() calls in order to get to know when the transfers in the multi stack
|
||||
might need attention. This also makes it very easy for your program to wait
|
||||
for input on your own private file descriptors at the same time or perhaps
|
||||
timeout every now and then, should you want that. \fIcurl_multi_timeout(3)\fP
|
||||
also helps you with providing a suitable timeout period for your select()
|
||||
call.
|
||||
Your application extracts info from libcurl about when it would like to get
|
||||
invoked to transfer data or do other work. The most convenient way is to use
|
||||
\fIcurl_multi_wait(3)\fP that will help you wait until the application should
|
||||
call libcurl again. The older API to accomplish the same thing is
|
||||
\fIcurl_multi_fdset(3)\fP that extracts fd_sets from libcurl to use in
|
||||
select() or poll() calls in order to get to know when the transfers in the
|
||||
multi stack might need attention. Both these APIs allow for your program to
|
||||
wait for input on your own private file descriptors at the same time
|
||||
\fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout
|
||||
period for your select() calls.
|
||||
|
||||
\fIcurl_multi_perform(3)\fP stores the number of still running transfers in
|
||||
one of its input arguments, and by reading that you can figure out when all
|
||||
@@ -114,9 +113,9 @@ the multi stack. You need to first remove the easy handle with
|
||||
\fIcurl_easy_cleanup(3)\fP, or possibly set new options to it and add it again
|
||||
with \fIcurl_multi_add_handle(3)\fP to start another transfer.
|
||||
|
||||
When all transfers in the multi stack are done, cleanup the multi handle with
|
||||
When all transfers in the multi stack are done, close the multi handle with
|
||||
\fIcurl_multi_cleanup(3)\fP. Be careful and please note that you \fBMUST\fP
|
||||
invoke separate \fIcurl_easy_cleanup(3)\fP calls on every single easy handle
|
||||
invoke separate \fIcurl_easy_cleanup(3)\fP calls for every single easy handle
|
||||
to clean them up properly.
|
||||
|
||||
If you want to re-use an easy handle that was added to the multi handle for
|
||||
|
95
docs/libcurl/libcurl-thread.3
Normal file
95
docs/libcurl/libcurl-thread.3
Normal file
@@ -0,0 +1,95 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH libcurl-thread 3 "13 Jul 2015" "libcurl" "libcurl thread safety"
|
||||
.SH NAME
|
||||
libcurl-thread \- libcurl thread safety
|
||||
.SH "Multi-threading with libcurl"
|
||||
libcurl is thread safe but has no internal thread synchronization. You may have
|
||||
to provide your own locking should you meet any of the thread safety exceptions
|
||||
below.
|
||||
|
||||
\fBHandles.\fP You must \fBnever\fP share the same handle in multiple threads.
|
||||
You can pass the handles around among threads, but you must never use a single
|
||||
handle from more than one thread at any given time.
|
||||
|
||||
\fBShared objects.\fP You can share certain data between multiple handles by
|
||||
using the share interface but you must provide your own locking and set
|
||||
\fIcurl_share_setopt(3)\fP CURLSHOPT_LOCKFUNC and CURLSHOPT_UNLOCKFUNC.
|
||||
.SH TLS
|
||||
If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are
|
||||
then of course using the underlying SSL library multi-threaded and those libs
|
||||
might have their own requirements on this issue. You may need to provide one
|
||||
or two functions to allow it to function properly:
|
||||
.IP OpenSSL
|
||||
http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
|
||||
|
||||
http://curl.haxx.se/libcurl/c/opensslthreadlock.html
|
||||
.IP GnuTLS
|
||||
http://gnutls.org/manual/html_node/Thread-safety.html
|
||||
.IP NSS
|
||||
thread-safe already without anything required.
|
||||
.IP PolarSSL
|
||||
Required actions unknown.
|
||||
.IP yassl
|
||||
Required actions unknown.
|
||||
.IP axTLS
|
||||
Required actions unknown.
|
||||
.IP Secure-Transport
|
||||
The engine is used by libcurl in a way that is fully thread-safe.
|
||||
.IP WinSSL
|
||||
The engine is used by libcurl in a way that is fully thread-safe.
|
||||
.IP wolfSSL
|
||||
The engine is used by libcurl in a way that is fully thread-safe.
|
||||
.SH "Other areas of caution"
|
||||
.IP Signals
|
||||
Signals are used for timing out name resolves (during DNS lookup) - when built
|
||||
without using either the c-ares or threaded resolver backends. When using
|
||||
multiple threads you should set the \fICURLOPT_NOSIGNAL(3)\fP option to 1L for
|
||||
all handles. Everything will or might work fine except that timeouts are not
|
||||
honored during the DNS lookup - which you can work around by building libcurl
|
||||
with c-ares support. c-ares is a library that provides asynchronous name
|
||||
resolves. On some platforms, libcurl simply will not function properly
|
||||
multi-threaded unless this option is set.
|
||||
.IP "Name resolving"
|
||||
\fBgethostby* functions and other system calls.\fP These functions, provided
|
||||
by your operating system, must be thread safe. It is very important that
|
||||
libcurl can find and use thread safe versions of these and other system calls,
|
||||
as otherwise it can't function fully thread safe. Some operating systems are
|
||||
known to have faulty thread implementations. We have previously received
|
||||
problem reports on *BSD (at least in the past, they may be working fine these
|
||||
days). Some operating systems that are known to have solid and working thread
|
||||
support are Linux, Solaris and Windows.
|
||||
.IP "curl_global_* functions"
|
||||
These functions are not thread safe. If you are using libcurl with multiple
|
||||
threads it is especially important that before use you call
|
||||
\fIcurl_global_init(3)\fP or \fIcurl_global_init_mem(3)\fP to explicitly
|
||||
initialize the library and its dependents, rather than rely on the "lazy"
|
||||
fail-safe initialization that takes place the first time
|
||||
\fIcurl_easy_init(3)\fP is called. For an in-depth explanation refer to
|
||||
\fIlibcurl(3)\fP section \fBGLOBAL CONSTANTS\fP.
|
||||
.IP "Memory functions"
|
||||
These functions, provided either by your operating system or your own
|
||||
replacements, must be thread safe. You can use \fIcurl_global_init_mem(3)\fP
|
||||
to set your own replacement memory functions.
|
||||
.IP Non-safe functions
|
||||
\fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe.
|
@@ -256,58 +256,8 @@ complication for you. Given simply the URL to a file, libcurl will take care
|
||||
of all the details needed to get the file moved from one machine to another.
|
||||
|
||||
.SH "Multi-threading Issues"
|
||||
The first basic rule is that you must \fBnever\fP simultaneously share a
|
||||
libcurl handle (be it easy or multi or whatever) between multiple
|
||||
threads. Only use one handle in one thread at any time. You can pass the
|
||||
handles around among threads, but you must never use a single handle from more
|
||||
than one thread at any given time.
|
||||
|
||||
libcurl is completely thread safe, except for two issues: signals and SSL/TLS
|
||||
handlers. Signals are used for timing out name resolves (during DNS lookup) -
|
||||
when built without using either the c-ares or threaded resolver backends.
|
||||
|
||||
If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are
|
||||
then of course using the underlying SSL library multi-threaded and those libs
|
||||
might have their own requirements on this issue. Basically, you need to
|
||||
provide one or two functions to allow it to function properly. For all
|
||||
details, see this:
|
||||
|
||||
OpenSSL
|
||||
|
||||
http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
|
||||
|
||||
GnuTLS
|
||||
|
||||
http://gnutls.org/manual/html_node/Thread-safety.html
|
||||
|
||||
NSS
|
||||
|
||||
is claimed to be thread-safe already without anything required.
|
||||
|
||||
PolarSSL
|
||||
|
||||
Required actions unknown.
|
||||
|
||||
yassl
|
||||
|
||||
Required actions unknown.
|
||||
|
||||
axTLS
|
||||
|
||||
Required actions unknown.
|
||||
|
||||
Secure Transport
|
||||
|
||||
The engine is fully thread-safe, and no additional steps are required.
|
||||
|
||||
When using multiple threads you should set the \fICURLOPT_NOSIGNAL(3)\fP
|
||||
option to 1 for all handles. Everything will or might work fine except that
|
||||
timeouts are not honored during the DNS lookup - which you can work around by
|
||||
building libcurl with c-ares support. c-ares is a library that provides
|
||||
asynchronous name resolves. On some platforms, libcurl simply will not
|
||||
function properly multi-threaded unless this option is set.
|
||||
|
||||
Also, note that \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe.
|
||||
libcurl is thread safe but there are a few exceptions. Refer to
|
||||
\fIlibcurl-thread(3)\fP for more information.
|
||||
|
||||
.SH "When It Doesn't Work"
|
||||
There will always be times when the transfer fails for some reason. You might
|
||||
@@ -1005,7 +955,7 @@ or understand incoming cookies and they will just be ignored. However, when
|
||||
the parser is enabled the cookies will be understood and the cookies will be
|
||||
kept in memory and used properly in subsequent requests when the same handle
|
||||
is used. Many times this is enough, and you may not have to save the cookies
|
||||
to disk at all. Note that the file you specify to \ICURLOPT_COOKIEFILE(3)\fP
|
||||
to disk at all. Note that the file you specify to \fICURLOPT_COOKIEFILE(3)\fP
|
||||
doesn't have to exist to enable the parser, so a common way to just enable the
|
||||
parser and not read any cookies is to use the name of a file you know doesn't
|
||||
exist.
|
||||
@@ -1136,11 +1086,15 @@ NTLM authentication, HTTPS, FTPS, SCP and SFTP are a few examples.
|
||||
.IP "Redirects"
|
||||
The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP
|
||||
redirects sent by a remote server. These redirects can refer to any kind of
|
||||
URL, not just HTTP. A redirect to a file: URL would cause the libcurl to read
|
||||
(or write) arbitrary files from the local filesystem. If the application
|
||||
returns the data back to the user (as would happen in some kinds of CGI
|
||||
scripts), an attacker could leverage this to read otherwise forbidden data
|
||||
(e.g. file://localhost/etc/passwd).
|
||||
URL, not just HTTP. By default libcurl will allow all protocols on redirect
|
||||
except several disabled for security reasons: Since 7.19.4 FILE and SCP are
|
||||
disabled, and since 7.40.0 SMB and SMBS are also disabled.
|
||||
|
||||
A redirect to a file: URL would cause the libcurl to read (or write) arbitrary
|
||||
files from the local filesystem. If the application returns the data back to
|
||||
the user (as would happen in some kinds of CGI scripts), an attacker could
|
||||
leverage this to read otherwise forbidden data (e.g.
|
||||
file://localhost/etc/passwd).
|
||||
|
||||
If authentication credentials are stored in the ~/.netrc file, or Kerberos
|
||||
is in use, any other URL type (not just file:) that requires
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -97,8 +97,8 @@ Unix-like operating system that ship libcurl as part of their distributions
|
||||
often don't provide the curl-config tool, but simply install the library and
|
||||
headers in the common path for this purpose.
|
||||
|
||||
Many Linux and similar sytems use pkg-config to provide build and link options
|
||||
about libraries and libcurl supports that as well.
|
||||
Many Linux and similar systems use pkg-config to provide build and link
|
||||
options about libraries and libcurl supports that as well.
|
||||
.SH "LIBCURL SYMBOL NAMES"
|
||||
All public functions in the libcurl interface are prefixed with 'curl_' (with
|
||||
a lowercase c). You can find other functions in the library source code, but
|
||||
@@ -111,13 +111,8 @@ libcurl works
|
||||
.B exactly
|
||||
the same, on any of the platforms it compiles and builds on.
|
||||
.SH "THREADS"
|
||||
Never ever call curl-functions simultaneously using the same handle from
|
||||
several threads. libcurl is thread-safe and can be used in any number of
|
||||
threads, but you must use separate curl handles if you want to use libcurl in
|
||||
more than one thread simultaneously.
|
||||
|
||||
The global environment functions are not thread-safe. See \fBGLOBAL
|
||||
CONSTANTS\fP below for details.
|
||||
libcurl is thread safe but there are a few exceptions. Refer to
|
||||
\fIlibcurl-thread(3)\fP for more information.
|
||||
|
||||
.SH "PERSISTENT CONNECTIONS"
|
||||
Persistent connections means that libcurl can re-use the same connection for
|
||||
|
@@ -178,7 +178,7 @@ x=CURLOPT_WRITEDATA;
|
||||
x=CURLOPT_ERRORBUFFER;
|
||||
x=CURLOPT_STDERR;
|
||||
x=CURLOPT_VERBOSE;
|
||||
if (x) ;
|
||||
if (x) {;}
|
||||
]])],libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no)
|
||||
|
||||
CPPFLAGS=$_libcurl_save_cppflags
|
||||
|
51
docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
Normal file
51
docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
Normal file
@@ -0,0 +1,51 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_ACTIVESOCKET 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_ACTIVESOCKET \- get the active socket
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET,
|
||||
curl_socket_t *socket);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a curl_socket_t to receive the active socket used by this
|
||||
curl session. If the socket is no longer valid, \fICURL_SOCKET_BAD\fP is
|
||||
returned. When you finish working with the socket, you must call
|
||||
\fIcurl_easy_cleanup(3)\fP as usual on the easy handle and let libcurl close
|
||||
the socket and cleanup other resources associated with the handle. This is
|
||||
typically used in combination with \fICURLOPT_CONNECT_ONLY(3)\fP.
|
||||
|
||||
This option was added as a replacement for \fICURLINFO_LASTSOCKET(3)\fP since
|
||||
that one isn't working on all platforms.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.45.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_LASTSOCKET "(3), "
|
47
docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
Normal file
47
docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_APPCONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the SSL/SSH connect/handshake to the remote host was completed.
|
||||
This time is most often very near to the \fICURLINFO_PRETRANSFER_TIME(3)\fP
|
||||
time, except for cases such as HTTP pipelining where the pretransfer time can
|
||||
be delayed due to waits in line for the pipeline and more.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.19.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
51
docs/libcurl/opts/CURLINFO_CERTINFO.3
Normal file
51
docs/libcurl/opts/CURLINFO_CERTINFO.3
Normal file
@@ -0,0 +1,51 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CERTINFO 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CERTINFO \- get the TLS certificate chain
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO,
|
||||
struct curl_certinfo *chainp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to
|
||||
struct that holds a number of linked lists with info about the certificate
|
||||
chain, assuming you had \fICURLOPT_CERTINFO(3)\fP enabled when the request was
|
||||
made. The struct reports how many certs it found and then you can extract info
|
||||
for each of those certs by following the linked lists. The info chain is
|
||||
provided in a series of data in the format "name:content" where the content is
|
||||
for the specific named data. See also the certinfo.c example.
|
||||
.SH PROTOCOLS
|
||||
All TLS-based
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
This option is only working in libcurl built with OpenSSL, NSS or GSKit
|
||||
support.
|
||||
|
||||
Added in 7.19.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
Normal file
45
docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CONDITION_UNMET 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the number 1 if the condition provided in
|
||||
the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
|
||||
if this returns a 1 you know that the reason you didn't get data in return is
|
||||
because it didn't fulfill the condition. The long ths argument points to will
|
||||
get a zero stored if the condition instead was met.
|
||||
.SH PROTOCOLS
|
||||
HTTP and some
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.19.4
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
44
docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
Normal file
44
docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CONNECT_TIME \- get the time until connect
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total time in seconds from the start
|
||||
until the connection to the remote host (or proxy) was completed.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
Normal file
45
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD,
|
||||
double *content_length);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the content-length of the download. This
|
||||
is the value read from the Content-Length: field. Since 7.19.4, this returns
|
||||
-1 if the size isn't known.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.6.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_CONTENT_LENGTH_UPLOAD "(3), "
|
43
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
Normal file
43
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
Normal file
@@ -0,0 +1,43 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD,
|
||||
double *content_length);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the specified size of the upload. Since
|
||||
7.19.4, this returns -1 if the size isn't known.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.6.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
48
docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
Normal file
48
docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
Normal file
@@ -0,0 +1,48 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_CONTENT_TYPE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_CONTENT_TYPE \- get Content-Type
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive the content-type of the downloaded
|
||||
object. This is the value read from the Content-Type: field. If you get NULL,
|
||||
it means that the server didn't send a valid Content-Type header or that the
|
||||
protocol used doesn't support this.
|
||||
|
||||
The \fBct\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free it - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.9.4
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
49
docs/libcurl/opts/CURLINFO_COOKIELIST.3
Normal file
49
docs/libcurl/opts/CURLINFO_COOKIELIST.3
Normal file
@@ -0,0 +1,49 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_COOKIELIST 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_COOKIELIST \- get all known cookies
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,
|
||||
struct curl_slist **cookies);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all
|
||||
cookies cURL knows (expired ones, too). Don't forget to call
|
||||
\fIcurl_slist_free_all(3)\fP on the list after it has been used. If there are
|
||||
no cookies (cookies for the handle have not been enabled or simply none have
|
||||
been received) 'struct curl_slist *' will be set to point to NULL.
|
||||
|
||||
Since 7.43.0 cookies that were imported in the Set-Cookie format without a
|
||||
domain name are not exported by this option.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.14.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
48
docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
Normal file
48
docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
Normal file
@@ -0,0 +1,48 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_EFFECTIVE_URL 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_EFFECTIVE_URL \- get the last used URL
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp);
|
||||
.SH DESCRIPTION
|
||||
Pass in a pointer to a char pointer and get the last used effective URL.
|
||||
|
||||
In cases when you've asked libcurl to follow redirects, it may very well not
|
||||
be the same value you set with \fICURLOPT_URL(3)\fP.
|
||||
|
||||
The \fBurlp\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
49
docs/libcurl/opts/CURLINFO_FILETIME.3
Normal file
49
docs/libcurl/opts/CURLINFO_FILETIME.3
Normal file
@@ -0,0 +1,49 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_FILETIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_FILETIME \- get the remote time of the retrieved document
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the remote time of the retrieved document
|
||||
(in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get
|
||||
-1, it can be because of many reasons (it might be unknown, the server might
|
||||
hide it or the server doesn't support the command that tells document time
|
||||
etc) and the time of the document is unknown.
|
||||
|
||||
Note that you must tell the server to collect this information before the
|
||||
transfer is made, by using the \fICURLOPT_FILETIME(3)\fP option to
|
||||
\fIcurl_easy_setopt(3)\fP or you will unconditionally get a -1 back.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S), FTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.5
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
48
docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
Normal file
48
docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
Normal file
@@ -0,0 +1,48 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_FTP_ENTRY_PATH 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive a pointer to a string holding the
|
||||
path of the entry path. That is the initial path libcurl ended up in when
|
||||
logging on to the remote FTP server. This stores a NULL as pointer if
|
||||
something is wrong.
|
||||
|
||||
The \fBpath\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
FTP(S) and SFTP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.15.4. Works for SFTP since 7.21.4
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
44
docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
Normal file
44
docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_HEADER_SIZE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_HEADER_SIZE \- get size of retrieved headers
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the total size of all the headers
|
||||
received. Measured in number of bytes.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_REQUEST_SIZE "(3), "
|
||||
.BR CURLINFO_SIZE_DOWNLOAD "(3), "
|
44
docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
Normal file
44
docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_HTTPAUTH_AVAIL 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||
method(s) available according to the previous response. The meaning of the
|
||||
bits is explained in the \fICURLOPT_HTTPAUTH(3)\fP option for
|
||||
\fIcurl_easy_setopt(3)\fP.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.10.8
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
44
docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
Normal file
44
docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_HTTP_CONNECTCODE 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the last received HTTP proxy response code
|
||||
to a CONNECT request. The returned value will be zero if no such response code
|
||||
was available.
|
||||
.SH PROTOCOLS
|
||||
HTTP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.10.7
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLINFO_RESPONSE_CODE "(3), "
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
53
docs/libcurl/opts/CURLINFO_LASTSOCKET.3
Normal file
53
docs/libcurl/opts/CURLINFO_LASTSOCKET.3
Normal file
@@ -0,0 +1,53 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_LASTSOCKET 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_LASTSOCKET \- get the last socket used
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket);
|
||||
.SH DESCRIPTION
|
||||
Deprecated since 7.45.0. Use \fICURLINFO_ACTIVESOCKET(3)\fP instead.
|
||||
|
||||
Pass a pointer to a long to receive the last socket used by this curl
|
||||
session. If the socket is no longer valid, -1 is returned. When you finish
|
||||
working with the socket, you must call curl_easy_cleanup() as usual and let
|
||||
libcurl close the socket and cleanup other resources associated with the
|
||||
handle. This is typically used in combination with
|
||||
\fICURLOPT_CONNECT_ONLY(3)\fP.
|
||||
|
||||
NOTE: this API is deprecated since it is not working on win64 where the SOCKET
|
||||
type is 64 bits large while its 'long' is 32 bits. Use the
|
||||
\fICURLINFO_ACTIVESOCKET(3)\fP instead, if possible.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.15.2
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_ACTIVESOCKET "(3), "
|
51
docs/libcurl/opts/CURLINFO_LOCAL_IP.3
Normal file
51
docs/libcurl/opts/CURLINFO_LOCAL_IP.3
Normal file
@@ -0,0 +1,51 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_LOCAL_IP 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_LOCAL_IP \- get local IP address of last connection
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive the pointer to a zero-terminated
|
||||
string holding the IP address of the local end of most recent connection done
|
||||
with this \fBcurl\fP handle. This string may be IPv6 when that is
|
||||
enabled. Note that you get a pointer to a memory area that will be re-used at
|
||||
next request so you need to copy the string if you want to keep the
|
||||
information.
|
||||
|
||||
The \fBip\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.21.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_PRIMARY_IP "(3), "
|
43
docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
Normal file
43
docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
Normal file
@@ -0,0 +1,43 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_LOCAL_PORT 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_LOCAL_PORT \- get the latest local port number
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the local port number of the most recent
|
||||
connection done with this \fBcurl\fP handle.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.21.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_PRIMARY_PORT "(3), " CURLINFO_LOCAL_IP "(3), "
|
44
docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
Normal file
44
docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_NAMELOOKUP_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total time in seconds from the start
|
||||
until the name resolving was completed.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
46
docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
Normal file
46
docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
Normal file
@@ -0,0 +1,46 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_NUM_CONNECTS 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_NUM_CONNECTS \- get number of created connections
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive how many new connections libcurl had to
|
||||
create to achieve the previous transfer (only the successful connects are
|
||||
counted). Combined with \fICURLINFO_REDIRECT_COUNT(3)\fP you are able to know
|
||||
how many times libcurl successfully reused existing connection(s) or not. See
|
||||
the connection options of \fIcurl_easy_setopt(3)\fP to see how libcurl tries
|
||||
to make persistent connections to save time.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.12.3
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
43
docs/libcurl/opts/CURLINFO_OS_ERRNO.3
Normal file
43
docs/libcurl/opts/CURLINFO_OS_ERRNO.3
Normal file
@@ -0,0 +1,43 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_OS_ERRNO 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_OS_ERRNO \- get errno number from last connect failure
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the errno variable from a connect failure.
|
||||
Note that the value is only set on failure, it is not reset upon a successful
|
||||
operation. The number is OS and system specific.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.12.2
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
47
docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
Normal file
47
docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_PRETRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the file transfer is just about to begin. This includes all
|
||||
pre-transfer commands and negotiations that are specific to the particular
|
||||
protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
|
||||
specific request that triggers a transfer.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
49
docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
Normal file
49
docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
Normal file
@@ -0,0 +1,49 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_PRIMARY_IP 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_PRIMARY_IP \- get IP address of last connection
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive the pointer to a zero-terminated
|
||||
string holding the IP address of the most recent connection done with this
|
||||
\fBcurl\fP handle. This string may be IPv6 when that is enabled. Note that you
|
||||
get a pointer to a memory area that will be re-used at next request so you
|
||||
need to copy the string if you want to keep the information.
|
||||
|
||||
The \fBip\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.19.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_PRIMARY_PORT "(3), " CURLINFO_LOCAL_IP "(3), "
|
42
docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
Normal file
42
docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_PRIMARY_PORT 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_PRIMARY_PORT \- get the latest destination port number
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the destination port of the most recent
|
||||
connection done with this \fBcurl\fP handle.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.21.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_PRIVATE.3
Normal file
45
docs/libcurl/opts/CURLINFO_PRIVATE.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_PRIVATE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_PRIVATE \- get the private pointer
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive the pointer to the private data
|
||||
associated with the curl handle (set with the \fICURLOPT_PRIVATE(3)\fP).
|
||||
Please note that for internal reasons, the value is returned as a char
|
||||
pointer, although effectively being a 'void *'.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.10.3
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLOPT_PRIVATE "(3), "
|
44
docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
Normal file
44
docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_PROXYAUTH_AVAIL 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive a bitmask indicating the authentication
|
||||
method(s) available according to the previous response. The meaning of the
|
||||
bits is explained in the \fICURLOPT_PROXYAUTH(3)\fP option for
|
||||
\fIcurl_easy_setopt(3)\fP.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.10.8
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
42
docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
Normal file
42
docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_REDIRECT_COUNT 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_REDIRECT_COUNT \- get the number of redirects
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the total number of redirections that were
|
||||
actually followed.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.9.7
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
46
docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
Normal file
46
docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
Normal file
@@ -0,0 +1,46 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_REDIRECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total time, in seconds, it took for
|
||||
all redirection steps include name lookup, connect, pretransfer and transfer
|
||||
before final transaction was started. CURLINFO_REDIRECT_TIME contains the
|
||||
complete execution time for multiple redirections.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.9.7
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
Normal file
45
docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_REDIRECT_URL 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP
|
||||
take you to if you would enable \fICURLOPT_FOLLOWLOCATION(3)\fP. This can come
|
||||
very handy if you think using the built-in libcurl redirect logic isn't good
|
||||
enough for you but you would still prefer to avoid implementing all the magic
|
||||
of figuring out the new URL.
|
||||
.SH PROTOCOLS
|
||||
HTTP(S)
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.18.2
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
Normal file
45
docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_REQUEST_SIZE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_REQUEST_SIZE \- get size of sent request
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the total size of the issued
|
||||
requests. This is so far only for HTTP requests. Note that this may be more
|
||||
than one request if \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_HEADER_SIZE "(3), "
|
||||
.BR CURLINFO_SIZE_DOWNLOAD "(3), "
|
48
docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
Normal file
48
docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
Normal file
@@ -0,0 +1,48 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_RESPONSE_CODE 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_RESPONSE_CODE \- get the last response code
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the last received HTTP, FTP or SMTP
|
||||
response code. This option was previously known as CURLINFO_HTTP_CODE in
|
||||
libcurl 7.10.7 and earlier. The stored value will be zero if no server
|
||||
response code has been received. Note that a proxy's CONNECT response should
|
||||
be read with \fICURLINFO_HTTP_CONNECTCODE(3)\fP and not this.
|
||||
|
||||
Support for SMTP responses added in 7.25.0.
|
||||
.SH PROTOCOLS
|
||||
HTTP, FTP and SMTP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.10.8. CURLINFO_HTTP_CODE was added in 7.4.1.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_HTTP_CONNECTCODE "(3), "
|
42
docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
Normal file
42
docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the next CSeq that will be used by the
|
||||
application.
|
||||
.SH PROTOCOLS
|
||||
RTSP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.20.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
44
docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
Normal file
44
docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_RTSP_CSEQ_RECV 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the most recently received CSeq from the
|
||||
server. If your application encounters a \fICURLE_RTSP_CSEQ_ERROR\fP then you
|
||||
may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this
|
||||
value.
|
||||
.SH PROTOCOLS
|
||||
RTSP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.20.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
47
docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
Normal file
47
docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_RTSP_SERVER_CSEQ 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the next CSeq that will be expected by the
|
||||
application.
|
||||
|
||||
Llistening for server initiated requests is currently unimplemented!
|
||||
|
||||
Applications wishing to resume an RTSP session on another connection should
|
||||
retrieve this info before closing the active connection.
|
||||
.SH PROTOCOLS
|
||||
RTSP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.20.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
49
docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
Normal file
49
docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
Normal file
@@ -0,0 +1,49 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_RTSP_SESSION_ID 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a char pointer to receive a pointer to a string holding the
|
||||
most recent RTSP Session ID.
|
||||
|
||||
Applications wishing to resume an RTSP session on another connection should
|
||||
retrieve this info before closing the active connection.
|
||||
|
||||
The \fBid\fP pointer will be NULL or pointing to private memory you MUST NOT
|
||||
free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
|
||||
corresponding CURL handle.
|
||||
.SH PROTOCOLS
|
||||
RTSP
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.20.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
Normal file
45
docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SIZE_DOWNLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total amount of bytes that were
|
||||
downloaded. The amount is only for the latest transfer and will be reset
|
||||
again for each new transfer. This counts actual payload data, what's also
|
||||
commonly called body. All meta and header data are excluded and will not be
|
||||
counted in this number.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
42
docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
Normal file
42
docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SIZE_UPLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total amount of bytes that were
|
||||
uploaded.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
42
docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
Normal file
42
docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SPEED_DOWNLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SPEED_DOWNLOAD \- get download speed
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the average download speed that curl
|
||||
measured for the complete download. Measured in bytes/second.
|
||||
.SH PROTOCOLS
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_SPEED_UPLOAD "(3), "
|
42
docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
Normal file
42
docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
Normal file
@@ -0,0 +1,42 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SPEED_UPLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SPEED_UPLOAD \- get upload speed
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the average upload speed that curl
|
||||
measured for the complete upload. Measured in bytes/second.
|
||||
.SH PROTOCOLS
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
||||
.BR CURLINFO_SPEED_DOWNLOAD "(3), "
|
47
docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
Normal file
47
docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
Normal file
@@ -0,0 +1,47 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SSL_ENGINES 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES,
|
||||
struct curl_slist **engine_list);
|
||||
.SH DESCRIPTION
|
||||
Pass the address of a 'struct curl_slist *' to receive a linked-list of
|
||||
OpenSSL crypto-engines supported. Note that engines are normally implemented
|
||||
in separate dynamic libraries. Hence not all the returned engines may be
|
||||
available at run-time. \fBNOTE:\fP you must call \fIcurl_slist_free_all(3)\fP
|
||||
on the list pointer once you're done with it, as libcurl will not free the
|
||||
data for you.
|
||||
.SH PROTOCOLS
|
||||
All TLS based ones.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.12.3. Available in OpenSSL builds with "engine" support.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
43
docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
Normal file
43
docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
Normal file
@@ -0,0 +1,43 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_SSL_VERIFYRESULT 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_SSL_VERIFYRESULT \- get the result of the certification verification
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a long to receive the result of the certification
|
||||
verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP
|
||||
option.
|
||||
.SH PROTOCOLS
|
||||
All using TLS
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.5
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
46
docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
Normal file
46
docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
Normal file
@@ -0,0 +1,46 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_STARTTRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the time, in seconds, it took from the
|
||||
start until the first byte is received by libcurl. This includes
|
||||
\fICURLINFO_PRETRANSFER_TIME(3)\fP and also the time the server needs to
|
||||
calculate the result.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.9.2
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
80
docs/libcurl/opts/CURLINFO_TLS_SESSION.3
Normal file
80
docs/libcurl/opts/CURLINFO_TLS_SESSION.3
Normal file
@@ -0,0 +1,80 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_TLS_SESSION 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_TLS_SESSION \- get TLS session info
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
|
||||
struct curl_tlssessioninfo **session);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be
|
||||
initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an
|
||||
enum indicating the SSL library used for the handshake and the respective
|
||||
internal TLS session structure of this underlying SSL library.
|
||||
|
||||
This may then be used to extract certificate information in a format
|
||||
convenient for further processing, such as manual validation. NOTE: this
|
||||
option may not be available for all SSL backends; unsupported SSL backends
|
||||
will always return NULL in the \fIinternals\fP pointer to indicate that they
|
||||
are not supported.
|
||||
|
||||
.nf
|
||||
struct curl_tlssessioninfo {
|
||||
curl_sslbackend backend;
|
||||
void *internals;
|
||||
};
|
||||
.fi
|
||||
|
||||
The \fIbackend\fP struct member is one of the defines in the CURLSSLBACKEND_*
|
||||
series: CURLSSLBACKEND_NONE (when built without TLS support),
|
||||
CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_NSS,
|
||||
CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_POLARSSL, CURLSSLBACKEND_CYASSL,
|
||||
CURLSSLBACKEND_SCHANNEL, CURLSSLBACKEND_DARWINSSL or
|
||||
CURLSSLBACKEND_AXTLS. (Note that the OpenSSL forks are all reported as just
|
||||
OpenSSL here.)
|
||||
|
||||
The \fIinternals\fP struct member will point to a TLS library specific pointer
|
||||
with the following underlying types:
|
||||
.RS
|
||||
.IP OpenSSL
|
||||
SSL_CTX *
|
||||
.IP GnuTLS
|
||||
gnutls_session_t
|
||||
.IP NSS
|
||||
PRFileDesc *
|
||||
.IP gskit
|
||||
gsk_handle
|
||||
.RE
|
||||
.SH PROTOCOLS
|
||||
All TLS-based
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.34.0
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
45
docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
Normal file
45
docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
Normal file
@@ -0,0 +1,45 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLINFO_TOTAL_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||
.SH NAME
|
||||
CURLINFO_TOTAL_TIME \- get total time of previous transfer
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a double to receive the total time in seconds for the
|
||||
previous transfer, including name resolving, TCP connect etc. The double
|
||||
represents the time in seconds, including fractions.
|
||||
|
||||
See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
Added in 7.4.1
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
|
@@ -27,8 +27,8 @@ CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
|
||||
.nf
|
||||
#include <curl/curl.h>
|
||||
|
||||
char *curl_pushheader_bynum(push_headers, int num);
|
||||
char *curl_pushheader_byname(push_headers, const char *name);
|
||||
char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num);
|
||||
char *curl_pushheader_byname(struct curl_pushheaders *h, const char *name);
|
||||
|
||||
int curl_push_callback(CURL *parent,
|
||||
CURL *easy,
|
||||
@@ -69,7 +69,7 @@ multi handle, the callback must not do that by itself.
|
||||
The callback can access PUSH_PROMISE headers with two accessor
|
||||
functions. These functions can only be used from within this callback and they
|
||||
can only access the PUSH_PROMISE headers. The normal response headers will be
|
||||
pased to the header callback for pushed streams just as for normal streams.
|
||||
passed to the header callback for pushed streams just as for normal streams.
|
||||
.IP curl_pushheader_bynum
|
||||
Returns the header at index 'num' (or NULL). The returned pointer points to a
|
||||
"name:value" string that will be freed when this callback returns.
|
||||
@@ -77,7 +77,8 @@ Returns the header at index 'num' (or NULL). The returned pointer points to a
|
||||
Returns the value for the given header name (or NULL). This is a shortcut so
|
||||
that the application doesn't have to loop through all headers to find the one
|
||||
it is interested in. The data pointed will be freed when this callback
|
||||
returns.
|
||||
returns. If more than one header field use the same name, this returns only
|
||||
the first one.
|
||||
.SH CALLBACK RETURN VALUE
|
||||
.IP "CURL_PUSH_OK (0)"
|
||||
The application has accepted the stream and it can now start receiving data,
|
||||
@@ -105,7 +106,7 @@ int push_callback(CURL *parent,
|
||||
FILE *out;
|
||||
headp = curl_pushheader_byname(headers, ":path");
|
||||
if(headp && !strncmp(headp, "/push-", 6)) {
|
||||
fprintf(stderr, "The PATH is %s\n", headp);
|
||||
fprintf(stderr, "The PATH is %s\\n", headp);
|
||||
|
||||
/* save the push here */
|
||||
out = fopen("pushed-stream", "wb");
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -43,7 +43,7 @@ If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module
|
||||
.SH DEFAULT
|
||||
Built-in system specific
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -39,7 +39,7 @@ to some limitation in openssl.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -30,9 +30,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo);
|
||||
.SH DESCRIPTION
|
||||
Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With
|
||||
this enabled, libcurl will extract lots of information and data about the
|
||||
certificates in the certificate chain used in the SSL connection. This data may
|
||||
then be retrieved after a transfer using \fIcurl_easy_getinfo(3)\fP and its
|
||||
option \fICURLINFO_CERTINFO\fP.
|
||||
certificates in the certificate chain used in the SSL connection. This data
|
||||
may then be retrieved after a transfer using \fIcurl_easy_getinfo(3)\fP and
|
||||
its option \fICURLINFO_CERTINFO(3)\fP.
|
||||
.SH DEFAULT
|
||||
0
|
||||
.SH PROTOCOLS
|
||||
|
@@ -33,7 +33,7 @@ the required proxy authentication and connection setup, but no data transfer,
|
||||
and then return.
|
||||
|
||||
The option can be used to simply test a connection to a server, but is more
|
||||
useful when used with the \fICURLINFO_LASTSOCKET\fP option to
|
||||
useful when used with the \fICURLINFO_ACTIVESOCKET(3)\fP option to
|
||||
\fIcurl_easy_getinfo(3)\fP as the library can set up the connection and then
|
||||
the application can obtain the most recently used socket for special data
|
||||
transfers.
|
||||
|
@@ -43,6 +43,14 @@ cookies.
|
||||
This option only \fBreads\fP cookies. To make libcurl write cookies to file,
|
||||
see \fICURLOPT_COOKIEJAR(3)\fP.
|
||||
|
||||
Exercise caution if you are using this option and multiple transfers may occur.
|
||||
If you use the Set-Cookie format and don't specify a domain then the cookie is
|
||||
sent for any domain (even after redirects are followed) and cannot be modified
|
||||
by a server-set cookie. If a server sets a cookie of the same name then both
|
||||
will be sent on a future transfer to that server, likely not what you intended.
|
||||
To address these issues set a domain in Set-Cookie (doing that will include
|
||||
sub-domains) or use the Netscape format.
|
||||
|
||||
If you use this option multiple times, you just add more files to read.
|
||||
Subsequent files will add more cookies.
|
||||
.SH DEFAULT
|
||||
|
@@ -43,6 +43,9 @@ If the cookie jar file can't be created or written to (when the
|
||||
error for this. Using \fICURLOPT_VERBOSE(3)\fP or
|
||||
\fICURLOPT_DEBUGFUNCTION(3)\fP will get a warning to display, but that is the
|
||||
only visible feedback you get about this possibly lethal situation.
|
||||
|
||||
Since 7.43.0 cookies that were imported in the Set-Cookie format without a
|
||||
domain name are not exported by this option.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
@@ -55,4 +58,5 @@ Along with HTTP
|
||||
Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), " CURLOPT_COOKIELIST "(3), "
|
||||
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), "
|
||||
.BR CURLOPT_COOKIELIST "(3), "
|
||||
|
@@ -36,16 +36,15 @@ Such a cookie can be either a single line in Netscape / Mozilla format or just
|
||||
regular HTTP-style header (Set-Cookie: ...) format. This will also enable the
|
||||
cookie engine. This adds that single cookie to the internal cookie store.
|
||||
|
||||
If you use the Set-Cookie format and don't specify a domain then the cookie
|
||||
is sent for any domain and will not be modified. If a server sets a cookie of
|
||||
the same name (or maybe you've imported one) then both will be sent on a future
|
||||
transfer to that server, likely not what you intended. Either set a domain in
|
||||
Set-Cookie (doing that will include sub domains) or use the Netscape format as
|
||||
Exercise caution if you are using this option and multiple transfers may occur.
|
||||
If you use the Set-Cookie format and don't specify a domain then the cookie is
|
||||
sent for any domain (even after redirects are followed) and cannot be modified
|
||||
by a server-set cookie. If a server sets a cookie of the same name (or maybe
|
||||
you've imported one) then both will be sent on a future transfer to that
|
||||
server, likely not what you intended. To address these issues set a domain in
|
||||
Set-Cookie (doing that will include sub-domains) or use the Netscape format as
|
||||
shown in EXAMPLE.
|
||||
|
||||
Starting in 7.43.0 the aforementioned any-domain cookies will not appear in the
|
||||
lists exported by \fICURLINFO_COOKIELIST(3)\fP and \fICURLOPT_COOKIEJAR(3)\fP.
|
||||
|
||||
Additionally, there are commands available that perform actions if you pass in
|
||||
these exact strings:
|
||||
.IP ALL
|
||||
@@ -117,4 +116,4 @@ RELOAD was added in 7.39.0
|
||||
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
|
||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), " CURLOPT_COOKIE "(3), "
|
||||
.BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), " CURLOPT_COOKIE "(3), "
|
||||
|
@@ -88,7 +88,7 @@ void dump(const char *text,
|
||||
size_t c;
|
||||
unsigned int width=0x10;
|
||||
|
||||
fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
|
||||
fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\\n",
|
||||
text, (long)size, (long)size);
|
||||
|
||||
for(i=0; i<size; i+= width) {
|
||||
@@ -106,7 +106,7 @@ void dump(const char *text,
|
||||
for(c = 0; (c < width) && (i+c < size); c++)
|
||||
fputc(ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.', stream);
|
||||
|
||||
fputc('\n', stream); /* newline */
|
||||
fputc('\\n', stream); /* newline */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ int main(void)
|
||||
res = curl_easy_perform(curl);
|
||||
/* Check for errors */
|
||||
if(res != CURLE_OK)
|
||||
fprintf(stderr, "curl_easy_perform() failed: %s\n",
|
||||
fprintf(stderr, "curl_easy_perform() failed: %s\\n",
|
||||
curl_easy_strerror(res));
|
||||
|
||||
/* always cleanup */
|
||||
|
79
docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
Normal file
79
docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
Normal file
@@ -0,0 +1,79 @@
|
||||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
.\" * are also available at http://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLOPT_DEFAULT_PROTOCOL 3 "18 Aug 2015" "libcurl 7.45.0" "curl_easy_setopt options"
|
||||
.SH NAME
|
||||
CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a
|
||||
scheme name
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char
|
||||
*protocol);
|
||||
.SH DESCRIPTION
|
||||
This option tells libcurl to use \fIprotocol\fP if the URL is missing a scheme
|
||||
name.
|
||||
|
||||
Use one of these protocol (scheme) names:
|
||||
|
||||
dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3,
|
||||
pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
|
||||
|
||||
An unknown or unsupported protocol causes error
|
||||
\fICURLE_UNSUPPORTED_PROTOCOL\fP when libcurl parses a schemeless URL. Parsing
|
||||
happens when \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP is
|
||||
called. The protocols supported by libcurl will vary depending on how it was
|
||||
built. Use \fIcurl_version_info(3)\fP if you need a list of protocol names
|
||||
supported by the build of libcurl that you are using.
|
||||
|
||||
This option does not change the default proxy protocol (http).
|
||||
|
||||
Without this option libcurl would make a guess based on the host, see
|
||||
\fICURLOPT_URL(3)\fP for details.
|
||||
.SH DEFAULT
|
||||
NULL (make a guess based on the host)
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
curl = curl_easy_init();
|
||||
if(curl) {
|
||||
/* set a URL without a scheme */
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "example.com");
|
||||
|
||||
/* set the default protocol (scheme) for schemeless URLs */
|
||||
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
|
||||
|
||||
/* Perform the request */
|
||||
curl_easy_perform(curl);
|
||||
}
|
||||
.fi
|
||||
.SH AVAILABILITY
|
||||
Added in 7.45.0
|
||||
.SH RETURN VALUE
|
||||
CURLE_OK if the option is supported.
|
||||
|
||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||
|
||||
CURLE_UNKNOWN_OPTION if the option is not supported.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_URL "(3), "
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -33,7 +33,7 @@ socket. It will be used to seed the random engine for SSL.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -31,8 +31,8 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime);
|
||||
Pass a long. If it is 1, libcurl will attempt to get the modification time of
|
||||
the remote document in this operation. This requires that the remote server
|
||||
sends the time or replies to a time querying command. The
|
||||
\fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME\fP argument
|
||||
can be used after a transfer to extract the received time (if any).
|
||||
\fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME(3)\fP
|
||||
argument can be used after a transfer to extract the received time (if any).
|
||||
.SH DEFAULT
|
||||
0
|
||||
.SH PROTOCOLS
|
||||
|
@@ -37,7 +37,7 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_FUNCTION,
|
||||
Pass a pointer to your callback function, which should match the prototype
|
||||
shown above.
|
||||
|
||||
This callback s used for wildcard matching.
|
||||
This callback is used for wildcard matching.
|
||||
|
||||
Return \fICURL_FNMATCHFUNC_MATCH\fP if pattern matches the string,
|
||||
\fICURL_FNMATCHFUNC_NOMATCH\fP if not or \fICURL_FNMATCHFUNC_FAIL\fP if an
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -28,22 +28,31 @@ CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
|
||||
.SH DESCRIPTION
|
||||
A parameter set to 1 tells the library to follow any Location: header that the
|
||||
server sends as part of a HTTP header in a 3xx response.
|
||||
A long parameter set to 1 tells the library to follow any Location: header
|
||||
that the server sends as part of a HTTP header in a 3xx response. The
|
||||
Location: header can specify a relative or an absolute URL to follow.
|
||||
|
||||
This means that libcurl will re-send the same request on the new location and
|
||||
follow new Location: headers all the way until no more such headers are
|
||||
returned. \fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of
|
||||
redirects libcurl will follow.
|
||||
libcurl will issue another request for the new URL and follow new Location:
|
||||
headers all the way until no more such headers are returned.
|
||||
\fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of redirects
|
||||
libcurl will follow.
|
||||
|
||||
libcurl can limit to what protocols it will automatically follow. The accepted
|
||||
protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP and it excludes the
|
||||
FILE protocol by default.
|
||||
libcurl limits what protocols it automatically follows to. The accepted
|
||||
protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP. By default libcurl
|
||||
will allow all protocols on redirect except those disabled for security
|
||||
reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS
|
||||
are also disabled.
|
||||
|
||||
When following a Location:, the 3xx response code that redirected it also
|
||||
dictates which request method it will use in the subsequent request: For 301,
|
||||
302 and 303 responses libcurl will switch method to GET unless
|
||||
\fICURLOPT_POSTREDIR(3)\fP instructs libcurl otherwise. All other 3xx codes
|
||||
will make libcurl send the same method again.
|
||||
|
||||
For users who think the existing location following is too naive, too simple
|
||||
or just lacks features, it is very easy to instead implement your own redirect
|
||||
follow logic with the use of \fIcurl_easy_getinfo(3)\fP's
|
||||
\fICURLINFO_REDIRECT_URL\fP option instead of using
|
||||
\fICURLINFO_REDIRECT_URL(3)\fP option instead of using
|
||||
\fICURLOPT_FOLLOWLOCATION(3)\fP.
|
||||
.SH DEFAULT
|
||||
0, disabled
|
||||
@@ -68,3 +77,4 @@ Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_REDIR_PROTOCOLS "(3), " CURLOPT_PROTOCOLS "(3), "
|
||||
.BR CURLOPT_POSTREDIR "(3), "
|
||||
.BR CURLINFO_REDIRECT_URL "(3), ", CURLINFO_REDIRECT_COUNT "(3), "
|
||||
|
@@ -28,11 +28,15 @@ CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version);
|
||||
.SH DESCRIPTION
|
||||
Pass \fIversion\fP a long, set to one of the values described below. They
|
||||
force libcurl to use the specific HTTP versions. This is not sensible to do
|
||||
unless you have a good reason. You have to set this option if you want to use
|
||||
Pass \fIversion\fP a long, set to one of the values described below. They ask
|
||||
libcurl to use the specific HTTP versions. This is not sensible to do unless
|
||||
you have a good reason. You have to set this option if you want to use
|
||||
libcurl's HTTP/2 support.
|
||||
|
||||
Note that the HTTP version is just a request. libcurl will still prioritize to
|
||||
re-use an existing connection so it might then re-use a connection using a
|
||||
HTTP version you haven't asked for.
|
||||
|
||||
.IP CURL_HTTP_VERSION_NONE
|
||||
We don't care about what version the library uses. libcurl will use whatever
|
||||
it thinks fit.
|
||||
|
@@ -22,7 +22,7 @@
|
||||
.\"
|
||||
.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
|
||||
.SH NAME
|
||||
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore Content-Length in HTTP response
|
||||
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
#include <curl/curl.h>
|
||||
@@ -30,12 +30,18 @@ CURLOPT_IGNORE_CONTENT_LENGTH \- ignore Content-Length in HTTP response
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IGNORE_CONTENT_LENGTH,
|
||||
long ignore);
|
||||
.SH DESCRIPTION
|
||||
If \fIignore\fP is set to 1, ignore the Content-Length header in the HTTP
|
||||
response. This is useful for Apache 1.x (and similar servers) which will
|
||||
If \fIignore\fP is set to 1L, ignore the Content-Length header in the HTTP
|
||||
response and ignore asking for or relying on it for FTP transfers.
|
||||
|
||||
This is useful for HTTP with Apache 1.x (and similar servers) which will
|
||||
report incorrect content length for files over 2 gigabytes. If this option is
|
||||
used, curl will not be able to accurately report progress, and will simply
|
||||
stop the download when the server ends the connection.
|
||||
|
||||
It is also useful with FTP when for example the file is growing while the
|
||||
transfer is in progress which otherwise will unconditionally cause libcurl to
|
||||
report error.
|
||||
|
||||
Only use this option if strictly necessary.
|
||||
.SH DEFAULT
|
||||
0
|
||||
@@ -54,7 +60,7 @@ if(curl) {
|
||||
}
|
||||
.fi
|
||||
.SH AVAILABILITY
|
||||
Added in 7.14.1
|
||||
Added in 7.14.1. Support for FTP added in 7.46.0.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -35,7 +35,7 @@ phrase to load a certificate but you need one to load your private key.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -28,7 +28,7 @@ CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit);
|
||||
.SH DESCRIPTION
|
||||
By setting the long \fIleavit\fP to 1, to explicitly tell libcurl to not alter
|
||||
By setting the long \fIleaveit\fP to 1, to explicitly tell libcurl to not alter
|
||||
the given path before passing it on to the server.
|
||||
|
||||
This tells libcurl to NOT squash sequences of "/../" or "/./" that may exist
|
||||
@@ -43,7 +43,7 @@ By default libcurl will merge such sequences before using the path.
|
||||
.SH DEFAULT
|
||||
0
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
All
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
CURL *curl = curl_easy_init();
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -28,23 +28,30 @@ CURLOPT_PINNEDPUBLICKEY \- set pinned public key
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey);
|
||||
.SH DESCRIPTION
|
||||
Pass a pointer to a zero terminated string as parameter. The string should be
|
||||
the file name of your pinned public key. The format expected is "PEM" or "DER".
|
||||
Pass a pointer to a zero terminated string as parameter. The string can be the
|
||||
file name of your pinned public key. The file format expected is "PEM" or "DER".
|
||||
The string can also be any number of base64 encoded sha256 hashes preceded by
|
||||
"sha256//" and separated by ";"
|
||||
|
||||
When negotiating a TLS or SSL connection, the server sends a certificate
|
||||
indicating its identity. A public key is extracted from this certificate and
|
||||
if it does not exactly match the public key provided to this option, curl will
|
||||
abort the connection before sending or receiving any data.
|
||||
|
||||
On mismatch, \fICURLE_SSL_PINNEDPUBKEYNOTMATCH\fP is returned.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
CURL *curl = curl_easy_init();
|
||||
if(curl) {
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
|
||||
curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "/etc/publickey.der");
|
||||
/* OR
|
||||
curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno=");
|
||||
*/
|
||||
|
||||
/* Perform the request */
|
||||
curl_easy_perform(curl);
|
||||
@@ -54,9 +61,28 @@ if(curl) {
|
||||
If you do not have the server's public key file you can extract it from the
|
||||
server's certificate.
|
||||
.nf
|
||||
openssl x509 -in www.test.com.pem -pubkey -noout > www.test.com.pubkey.pem
|
||||
# retrieve the server's certificate if you don't already have it
|
||||
#
|
||||
# be sure to examine the certificate to see if it is what you expected
|
||||
#
|
||||
# Windows-specific:
|
||||
# - Use NUL instead of /dev/null.
|
||||
# - OpenSSL may wait for input instead of disconnecting. Hit enter.
|
||||
# - If you don't have sed, then just copy the certificate into a file:
|
||||
# Lines from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----.
|
||||
#
|
||||
openssl s_client -servername www.example.com -connect www.example.com:443 < /dev/null | sed -n "/-----BEGIN/,/-----END/p" > www.example.com.pem
|
||||
|
||||
# extract public key in pem format from certificate
|
||||
openssl x509 -in www.example.com.pem -pubkey -noout > www.example.com.pubkey.pem
|
||||
|
||||
# convert public key from pem to der
|
||||
openssl asn1parse -noout -inform pem -in www.example.com.pubkey.pem -out www.example.com.pubkey.der
|
||||
|
||||
# sha256 hash and base64 encode der to string for use
|
||||
openssl dgst -sha256 -binary www.example.com.pubkey.der | openssl base64
|
||||
.fi
|
||||
The public key is output in PEM format and contains a header, base64 data and a
|
||||
The public key in PEM format contains a header, base64 data and a
|
||||
footer:
|
||||
.nf
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
@@ -65,7 +91,8 @@ footer:
|
||||
.fi
|
||||
.SH AVAILABILITY
|
||||
Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for
|
||||
NSS and wolfSSL/CyaSSL. Other SSL backends not supported.
|
||||
NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL,
|
||||
GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
|
||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -32,13 +32,13 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTREDIR,
|
||||
.SH DESCRIPTION
|
||||
Pass a bitmask to control how libcurl acts on redirects after POSTs that get a
|
||||
301, 302 or 303 response back. A parameter with bit 0 set (value
|
||||
\fBCURL_REDIR_POST_301\fP) tells the library to respect RFC2616/10.3.2 and not
|
||||
convert POST requests into GET requests when following a 301 redirection.
|
||||
Setting bit 1 (value \fBCURL_REDIR_POST_302\fP) makes libcurl maintain the
|
||||
request method after a 302 redirect whilst setting bit 2 (value
|
||||
\fBCURL_REDIR_POST_303\fP) makes libcurl maintain the request method after a
|
||||
303 redirect. The value \fBCURL_REDIR_POST_ALL\fP is a convenience define that
|
||||
sets all three bits.
|
||||
\fBCURL_REDIR_POST_301\fP) tells the library to respect RFC 7231 (section
|
||||
6.4.2 to 6.4.4) and not convert POST requests into GET requests when following
|
||||
a 301 redirection. Setting bit 1 (value \fBCURL_REDIR_POST_302\fP) makes
|
||||
libcurl maintain the request method after a 302 redirect whilst setting bit 2
|
||||
(value \fBCURL_REDIR_POST_303\fP) makes libcurl maintain the request method
|
||||
after a 303 redirect. The value \fBCURL_REDIR_POST_ALL\fP is a convenience
|
||||
define that sets all three bits.
|
||||
|
||||
The non-RFC behaviour is ubiquitous in web browsers, so the library does the
|
||||
conversion by default to maintain consistency. However, a server may require a
|
||||
|
@@ -60,6 +60,7 @@ CURLPROTO_RTSP
|
||||
CURLPROTO_SCP
|
||||
CURLPROTO_SFTP
|
||||
CURLPROTO_SMB
|
||||
CURLPROTO_SMBS
|
||||
CURLPROTO_SMTP
|
||||
CURLPROTO_SMTPS
|
||||
CURLPROTO_TELNET
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -29,8 +29,8 @@ CURLOPT_PROXY \- set proxy to use
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy);
|
||||
.SH DESCRIPTION
|
||||
Set the \fIproxy\fP to use for the upcoming request. The parameter should be a
|
||||
char * to a zero terminated string holding the host name or dotted IP
|
||||
address.
|
||||
char * to a zero terminated string holding the host name or dotted numerical
|
||||
IP address. A numerical IPv6 address must be written within [brackets].
|
||||
|
||||
To specify port number in this string, append :[port] to the end of the host
|
||||
name. The proxy's port number may optionally be specified with the separate
|
||||
@@ -61,8 +61,8 @@ option does however override any possibly set environment variables.
|
||||
Setting the proxy string to "" (an empty string) will explicitly disable the
|
||||
use of a proxy, even if there is an environment variable set for it.
|
||||
|
||||
A proxy host string given in an environment variable can also include protocol
|
||||
scheme (http://) and embedded user + password.
|
||||
A proxy host string can also include protocol scheme (http://) and embedded
|
||||
user + password.
|
||||
.SH DEFAULT
|
||||
Default is NULL, meaning no proxy is used.
|
||||
|
||||
|
@@ -32,8 +32,12 @@ Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask
|
||||
limits what protocols libcurl may use in a transfer that it follows to in a
|
||||
redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This allows you to
|
||||
limit specific transfers to only be allowed to use a subset of protocols in
|
||||
redirections. By default libcurl will allow all protocols except for FILE and
|
||||
SCP.
|
||||
redirections.
|
||||
|
||||
By default libcurl will allow all protocols on redirect except several disabled
|
||||
for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0
|
||||
SMB and SMBS are also disabled. \fICURLPROTO_ALL\fP enables all protocols on
|
||||
redirect, including those disabled for security.
|
||||
|
||||
These are the available protocol defines:
|
||||
.nf
|
||||
@@ -60,13 +64,14 @@ CURLPROTO_RTSP
|
||||
CURLPROTO_SCP
|
||||
CURLPROTO_SFTP
|
||||
CURLPROTO_SMB
|
||||
CURLPROTO_SMBS
|
||||
CURLPROTO_SMTP
|
||||
CURLPROTO_SMTPS
|
||||
CURLPROTO_TELNET
|
||||
CURLPROTO_TFTP
|
||||
.fi
|
||||
.SH DEFAULT
|
||||
All protocols except for FILE, SCP and SMB.
|
||||
All protocols except for FILE, SCP and since 7.40.0 SMB and SMBS.
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
|
@@ -51,7 +51,8 @@ entries.
|
||||
You can remove names from the DNS cache again, to stop providing these fake
|
||||
resolves, by including a string in the linked list that uses the format
|
||||
\&"-HOST:PORT". The host name must be prefixed with a dash, and the host name
|
||||
and port number must exactly match what was already added previously.
|
||||
and port number must exactly match what was already added previously. (Added in
|
||||
7.42.0)
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
@@ -75,7 +76,7 @@ if(curl) {
|
||||
curl_slist_free_all(host);
|
||||
.fi
|
||||
.SH AVAILABILITY
|
||||
Added in 7.21.3
|
||||
Added in 7.21.3. Removal support added in 7.42.0.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -43,7 +43,7 @@ private key with \fICURLOPT_SSLKEY(3)\fP.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -36,7 +36,7 @@ PKCS#12-encoded files.
|
||||
.SH DEFAULT
|
||||
"PEM"
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -36,7 +36,7 @@ returned.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -36,7 +36,7 @@ returned.
|
||||
.SH DEFAULT
|
||||
None
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -38,7 +38,7 @@ present in the keychain or PKCS#12 file containing the certificate.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -38,7 +38,7 @@ engine. You have to set the crypto engine with \fICURLOPT_SSLENGINE(3)\fP.
|
||||
.SH DEFAULT
|
||||
"PEM"
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -52,7 +52,7 @@ TLSv1.2 (Added in 7.34.0)
|
||||
.SH DEFAULT
|
||||
CURL_SSLVERSION_DEFAULT
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
CURL *curl = curl_easy_init();
|
||||
|
@@ -5,7 +5,7 @@
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
.\" *
|
||||
.\" * This software is licensed as described in the file COPYING, which
|
||||
.\" * you should have received as part of this distribution. The terms
|
||||
@@ -53,7 +53,7 @@ You'll find more details about the NSS cipher lists on this URL:
|
||||
.SH DEFAULT
|
||||
NULL, use internal default
|
||||
.SH PROTOCOLS
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user