etlegacy-libs/curl/docs/libcurl/curl_easy_getinfo.3

282 lines
10 KiB
Groff
Raw Normal View History

2012-06-01 15:23:17 +00:00
.\" **************************************************************************
.\" * _ _ ____ _
.\" * Project ___| | | | _ \| |
.\" * / __| | | | |_) | |
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
2019-12-20 11:07:02 +00:00
.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
2012-06-01 15:23:17 +00:00
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
2016-09-16 04:29:17 +00:00
.\" * are also available at https://curl.haxx.se/docs/copyright.html.
2012-06-01 15:23:17 +00:00
.\" *
.\" * 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 curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.68.0" "libcurl Manual"
2017-07-01 14:06:24 +00:00
2012-06-01 15:23:17 +00:00
.SH NAME
curl_easy_getinfo - extract information from a curl handle
.SH SYNOPSIS
.B #include <curl/curl.h>
.B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );"
.SH DESCRIPTION
Request internal information from the curl session with this function. The
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
2016-09-16 04:29:17 +00:00
this function AFTER a performed transfer if you want to get transfer related
2012-06-01 15:23:17 +00:00
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
2016-09-16 04:29:17 +00:00
Last used URL.
See \fICURLINFO_EFFECTIVE_URL(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_RESPONSE_CODE
2016-09-16 04:29:17 +00:00
Last received response code.
See \fICURLINFO_RESPONSE_CODE(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_HTTP_CONNECTCODE
2016-09-16 04:29:17 +00:00
Last proxy CONNECT response code.
See \fICURLINFO_HTTP_CONNECTCODE(3)\fP
.IP CURLINFO_HTTP_VERSION
The http version used in the connection.
See \fICURLINFO_HTTP_VERSION(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_FILETIME
2018-03-20 13:49:31 +00:00
Remote time of the retrieved document. See \fICURLINFO_FILETIME(3)\fP
.IP CURLINFO_FILETIME_T
Remote time of the retrieved document. See \fICURLINFO_FILETIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_TOTAL_TIME
2016-09-16 04:29:17 +00:00
Total time of previous transfer.
See \fICURLINFO_TOTAL_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_TOTAL_TIME_T
Total time of previous transfer.
See \fICURLINFO_TOTAL_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_NAMELOOKUP_TIME
2016-09-16 04:29:17 +00:00
Time from start until name resolving completed.
See \fICURLINFO_NAMELOOKUP_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_NAMELOOKUP_TIME_T
Time from start until name resolving completed.
See \fICURLINFO_NAMELOOKUP_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CONNECT_TIME
2016-09-16 04:29:17 +00:00
Time from start until remote host or proxy completed.
See \fICURLINFO_CONNECT_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_CONNECT_TIME_T
Time from start until remote host or proxy completed.
See \fICURLINFO_CONNECT_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_APPCONNECT_TIME
2016-09-16 04:29:17 +00:00
Time from start until SSL/SSH handshake completed.
See \fICURLINFO_APPCONNECT_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_APPCONNECT_TIME_T
Time from start until SSL/SSH handshake completed.
See \fICURLINFO_APPCONNECT_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_PRETRANSFER_TIME
2016-09-16 04:29:17 +00:00
Time from start until just before the transfer begins.
See \fICURLINFO_PRETRANSFER_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_PRETRANSFER_TIME_T
Time from start until just before the transfer begins.
See \fICURLINFO_PRETRANSFER_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_STARTTRANSFER_TIME
2016-09-16 04:29:17 +00:00
Time from start until just when the first byte is received.
See \fICURLINFO_STARTTRANSFER_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_STARTTRANSFER_TIME_T
Time from start until just when the first byte is received.
See \fICURLINFO_STARTTRANSFER_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_REDIRECT_TIME
2016-09-16 04:29:17 +00:00
Time taken for all redirect steps before the final transfer.
See \fICURLINFO_REDIRECT_TIME(3)\fP
2018-07-15 15:57:46 +00:00
.IP CURLINFO_REDIRECT_TIME_T
Time taken for all redirect steps before the final transfer.
See \fICURLINFO_REDIRECT_TIME_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_REDIRECT_COUNT
2016-09-16 04:29:17 +00:00
Total number of redirects that were followed.
See \fICURLINFO_REDIRECT_COUNT(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_REDIRECT_URL
2016-09-16 04:29:17 +00:00
URL a redirect would take you to, had you enabled redirects.
See \fICURLINFO_REDIRECT_URL(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SIZE_UPLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Number of bytes uploaded.
2016-09-16 04:29:17 +00:00
See \fICURLINFO_SIZE_UPLOAD(3)\fP
2018-02-04 17:52:34 +00:00
.IP CURLINFO_SIZE_UPLOAD_T
Number of bytes uploaded.
See \fICURLINFO_SIZE_UPLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SIZE_DOWNLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Number of bytes downloaded.
2016-09-16 04:29:17 +00:00
See \fICURLINFO_SIZE_DOWNLOAD(3)\fP
2018-02-04 17:52:34 +00:00
.IP CURLINFO_SIZE_DOWNLOAD_T
Number of bytes downloaded.
See \fICURLINFO_SIZE_DOWNLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SPEED_DOWNLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Average download speed.
2016-09-16 04:29:17 +00:00
See \fICURLINFO_SPEED_DOWNLOAD(3)\fP
2018-02-04 17:52:34 +00:00
.IP CURLINFO_SPEED_DOWNLOAD_T
Average download speed.
See \fICURLINFO_SPEED_DOWNLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SPEED_UPLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Average upload speed.
2016-09-16 04:29:17 +00:00
See \fICURLINFO_SPEED_UPLOAD(3)\fP
2018-02-04 17:52:34 +00:00
.IP CURLINFO_SPEED_UPLOAD_T
Average upload speed.
See \fICURLINFO_SPEED_UPLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_HEADER_SIZE
2016-09-16 04:29:17 +00:00
Number of bytes of all headers received.
See \fICURLINFO_HEADER_SIZE(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_REQUEST_SIZE
2016-09-16 04:29:17 +00:00
Number of bytes sent in the issued HTTP requests.
See \fICURLINFO_REQUEST_SIZE(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SSL_VERIFYRESULT
2016-09-16 04:29:17 +00:00
Certificate verification result.
See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
2017-03-02 22:46:25 +00:00
.IP CURLINFO_PROXY_SSL_VERIFYRESULT
Proxy certificate verification result.
See \fICURLINFO_PROXY_SSL_VERIFYRESULT(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_SSL_ENGINES
2016-09-16 04:29:17 +00:00
A list of OpenSSL crypto engines.
See \fICURLINFO_SSL_ENGINES(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Content length from the Content-Length header.
2016-09-16 04:29:17 +00:00
See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD(3)\fP
2018-02-04 17:52:34 +00:00
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
Content length from the Content-Length header.
See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CONTENT_LENGTH_UPLOAD
2018-02-04 17:52:34 +00:00
(Deprecated) Upload size. See \fICURLINFO_CONTENT_LENGTH_UPLOAD(3)\fP
.IP CURLINFO_CONTENT_LENGTH_UPLOAD_T
Upload size. See \fICURLINFO_CONTENT_LENGTH_UPLOAD_T(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CONTENT_TYPE
2016-09-16 04:29:17 +00:00
Content type from the Content-Type header.
See \fICURLINFO_CONTENT_TYPE(3)\fP
2019-12-20 11:07:02 +00:00
.IP CURLINFO_RETRY_AFTER
The value from the from the Retry-After header.
See \fICURLINFO_RETRY_AFTER(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_PRIVATE
2016-09-16 04:29:17 +00:00
User's private data pointer.
See \fICURLINFO_PRIVATE(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_HTTPAUTH_AVAIL
2016-09-16 04:29:17 +00:00
Available HTTP authentication methods.
See \fICURLINFO_HTTPAUTH_AVAIL(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_PROXYAUTH_AVAIL
2016-09-16 04:29:17 +00:00
Available HTTP proxy authentication methods.
See \fICURLINFO_PROXYAUTH_AVAIL(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_OS_ERRNO
2016-09-16 04:29:17 +00:00
The errno from the last failure to connect.
See \fICURLINFO_OS_ERRNO(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_NUM_CONNECTS
2016-09-16 04:29:17 +00:00
Number of new successful connections used for previous transfer.
See \fICURLINFO_NUM_CONNECTS(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_PRIMARY_IP
2016-09-16 04:29:17 +00:00
IP address of the last connection.
See \fICURLINFO_PRIMARY_IP(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_PRIMARY_PORT
2016-09-16 04:29:17 +00:00
Port of the last connection.
See \fICURLINFO_PRIMARY_PORT(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_LOCAL_IP
2016-09-16 04:29:17 +00:00
Local-end IP address of last connection.
See \fICURLINFO_LOCAL_IP(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_LOCAL_PORT
2016-09-16 04:29:17 +00:00
Local-end port of last connection.
See \fICURLINFO_LOCAL_PORT(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_COOKIELIST
2016-09-16 04:29:17 +00:00
List of all known cookies.
See \fICURLINFO_COOKIELIST(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_LASTSOCKET
2016-09-16 04:29:17 +00:00
Last socket used.
See \fICURLINFO_LASTSOCKET(3)\fP
.IP CURLINFO_ACTIVESOCKET
The session's active socket.
See \fICURLINFO_ACTIVESOCKET(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_FTP_ENTRY_PATH
2016-09-16 04:29:17 +00:00
The entry path after logging in to an FTP server.
See \fICURLINFO_FTP_ENTRY_PATH(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CERTINFO
2016-09-16 04:29:17 +00:00
Certificate chain.
See \fICURLINFO_CERTINFO(3)\fP
.IP CURLINFO_TLS_SSL_PTR
TLS session info that can be used for further processing.
See \fICURLINFO_TLS_SSL_PTR(3)\fP
.IP CURLINFO_TLS_SESSION
TLS session info that can be used for further processing. See
\fICURLINFO_TLS_SESSION(3)\fP. Deprecated option, use
\fICURLINFO_TLS_SSL_PTR(3)\fP instead!
2012-06-01 15:23:17 +00:00
.IP CURLINFO_CONDITION_UNMET
2016-09-16 04:29:17 +00:00
Whether or not a time conditional was met.
See \fICURLINFO_CONDITION_UNMET(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_RTSP_SESSION_ID
2016-09-16 04:29:17 +00:00
RTSP session ID.
See \fICURLINFO_RTSP_SESSION_ID(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_RTSP_CLIENT_CSEQ
2016-09-16 04:29:17 +00:00
RTSP CSeq that will next be used.
See \fICURLINFO_RTSP_CLIENT_CSEQ(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_RTSP_SERVER_CSEQ
2016-09-16 04:29:17 +00:00
RTSP CSeq that will next be expected.
See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP
2012-06-01 15:23:17 +00:00
.IP CURLINFO_RTSP_CSEQ_RECV
2016-09-16 04:29:17 +00:00
RTSP CSeq last received.
See \fICURLINFO_RTSP_CSEQ_RECV(3)\fP
2017-03-02 22:46:25 +00:00
.IP CURLINFO_PROTOCOL
The protocol used for the connection. (Added in 7.52.0)
See \fICURLINFO_PROTOCOL(3)\fP
.IP CURLINFO_SCHEME
The scheme used for the connection. (Added in 7.52.0)
See \fICURLINFO_SCHEME(3)\fP
2012-06-01 15:23:17 +00:00
.SH TIMES
.nf
An overview of the six time values available from curl_easy_getinfo()
curl_easy_perform()
|
|--NAMELOOKUP
|--|--CONNECT
|--|--|--APPCONNECT
|--|--|--|--PRETRANSFER
|--|--|--|--|--STARTTRANSFER
|--|--|--|--|--|--TOTAL
|--|--|--|--|--|--REDIRECT
.fi
.IP NAMELOOKUP
2019-12-20 11:07:02 +00:00
\fICURLINFO_NAMELOOKUP_TIME\fP and \fICURLINFO_NAMELOOKUP_TIME_T\fP.
2018-07-15 15:57:46 +00:00
The time it took from the start until the name resolving was completed.
2012-06-01 15:23:17 +00:00
.IP CONNECT
2018-07-15 15:57:46 +00:00
\fICURLINFO_CONNECT_TIME\fP and \fICURLINFO_CONNECT_TIME_T\fP.
The time it took from the start until the connect
2012-06-01 15:23:17 +00:00
to the remote host (or proxy) was completed.
.IP APPCONNECT
2018-07-15 15:57:46 +00:00
\fICURLINFO_APPCONNECT_TIME\fP and \fICURLINFO_APPCONNECT_TIME_T\fP.
The time it took from the start until the SSL
connect/handshake with the remote host was completed. (Added in 7.19.0)
The latter is the integer version (measuring microseconds). (Added in 7.60.0)
2012-06-01 15:23:17 +00:00
.IP PRETRANSFER
2018-07-15 15:57:46 +00:00
\fICURLINFO_PRETRANSFER_TIME\fP and \fICURLINFO_PRETRANSFER_TIME_T\fP.
The time it took from the start until the
2012-06-01 15:23:17 +00:00
file transfer is just about to begin. This includes all pre-transfer commands
and negotiations that are specific to the particular protocol(s) involved.
.IP STARTTRANSFER
2018-07-15 15:57:46 +00:00
\fICURLINFO_STARTTRANSFER_TIME\fP and \fICURLINFO_STARTTRANSFER_TIME_T\fP.
The time it took from the start until the
2012-06-01 15:23:17 +00:00
first byte is received by libcurl.
.IP TOTAL
2018-07-15 15:57:46 +00:00
\fICURLINFO_TOTAL_TIME\fP and \fICURLINFO_TOTAL_TIME_T\fP.
Total time of the previous request.
2012-06-01 15:23:17 +00:00
.IP REDIRECT
2018-07-15 15:57:46 +00:00
\fICURLINFO_REDIRECT_TIME\fP and \fICURLINFO_REDIRECT_TIME_T\fP.
The time it took for all redirection steps
2012-06-01 15:23:17 +00:00
include name lookup, connect, pretransfer and transfer before final
transaction was started. So, this is zero if no redirection took place.
.SH RETURN VALUE
If the operation was successful, CURLE_OK is returned. Otherwise an
appropriate error code will be returned.
.SH "SEE ALSO"
.BR curl_easy_setopt "(3)"