mirror of
https://github.com/moparisthebest/curl
synced 2024-11-13 21:15:08 -05:00
332414a30e
The two options are almost the same, except in the case of OpenSSL: CURLINFO_TLS_SESSION OpenSSL session internals is SSL_CTX *. CURLINFO_TLS_SSL_PTR OpenSSL session internals is SSL *. For backwards compatibility we couldn't modify CURLINFO_TLS_SESSION to return an SSL pointer for OpenSSL. Also, add support for the 'internals' member to point to SSL object for the other backends axTLS, PolarSSL, Secure Channel, Secure Transport and wolfSSL. Bug: https://github.com/curl/curl/issues/234 Reported-by: dkjjr89@users.noreply.github.com Bug: https://curl.haxx.se/mail/lib-2015-09/0127.html Reported-by: Michael König
262 lines
7.8 KiB
Groff
262 lines
7.8 KiB
Groff
.\" **************************************************************************
|
|
.\" * _ _ ____ _
|
|
.\" * 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 https://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 curl_easy_getinfo 3 "11 Feb 2009" "libcurl 7.19.4" "libcurl Manual"
|
|
.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
|
|
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
|
|
Last used URL.
|
|
See \fICURLINFO_EFFECTIVE_URL(3)\fP
|
|
|
|
.IP CURLINFO_RESPONSE_CODE
|
|
Last received response code.
|
|
See \fICURLINFO_RESPONSE_CODE(3)\fP
|
|
|
|
.IP CURLINFO_HTTP_CONNECTCODE
|
|
Last proxy CONNECT response code.
|
|
See \fICURLINFO_HTTP_CONNECTCODE(3)\fP
|
|
|
|
.IP CURLINFO_FILETIME
|
|
Remote time of the retrieved document.
|
|
See \fICURLINFO_FILETIME(3)\fP
|
|
|
|
.IP CURLINFO_TOTAL_TIME
|
|
Total time of previous transfer.
|
|
See \fICURLINFO_TOTAL_TIME(3)\fP
|
|
|
|
.IP CURLINFO_NAMELOOKUP_TIME
|
|
Time from start until name resolving completed.
|
|
See \fICURLINFO_NAMELOOKUP_TIME(3)\fP
|
|
|
|
.IP CURLINFO_CONNECT_TIME
|
|
Time from start until remote host or proxy completed.
|
|
See \fICURLINFO_CONNECT_TIME(3)\fP
|
|
|
|
.IP CURLINFO_APPCONNECT_TIME
|
|
Time from start until SSL/SSH handshake completed.
|
|
See \fICURLINFO_APPCONNECT_TIME(3)\fP
|
|
|
|
.IP CURLINFO_PRETRANSFER_TIME
|
|
Time from start until just before the transfer begins.
|
|
See \fICURLINFO_PRETRANSFER_TIME(3)\fP
|
|
|
|
.IP CURLINFO_STARTTRANSFER_TIME
|
|
Time from start until just when the first byte is received.
|
|
See \fICURLINFO_STARTTRANSFER_TIME(3)\fP
|
|
|
|
.IP CURLINFO_REDIRECT_TIME
|
|
Time taken for all redirect steps before the final transfer.
|
|
See \fICURLINFO_REDIRECT_TIME(3)\fP
|
|
|
|
.IP CURLINFO_REDIRECT_COUNT
|
|
Total number of redirects that were followed.
|
|
See \fICURLINFO_REDIRECT_COUNT(3)\fP
|
|
|
|
.IP CURLINFO_REDIRECT_URL
|
|
URL a redirect would take you to, had you enabled redirects.
|
|
See \fICURLINFO_REDIRECT_URL(3)\fP
|
|
|
|
.IP CURLINFO_SIZE_UPLOAD
|
|
Number of bytes uploaded.
|
|
See \fICURLINFO_SIZE_UPLOAD(3)\fP
|
|
|
|
.IP CURLINFO_SIZE_DOWNLOAD
|
|
Number of bytes downloaded.
|
|
See \fICURLINFO_SIZE_DOWNLOAD(3)\fP
|
|
|
|
.IP CURLINFO_SPEED_DOWNLOAD
|
|
Average download speed.
|
|
See \fICURLINFO_SPEED_DOWNLOAD(3)\fP
|
|
|
|
.IP CURLINFO_SPEED_UPLOAD
|
|
Average upload speed.
|
|
See \fICURLINFO_SPEED_UPLOAD(3)\fP
|
|
|
|
.IP CURLINFO_HEADER_SIZE
|
|
Number of bytes of all headers received.
|
|
See \fICURLINFO_HEADER_SIZE(3)\fP
|
|
|
|
.IP CURLINFO_REQUEST_SIZE
|
|
Number of bytes sent in the issued HTTP requests.
|
|
See \fICURLINFO_REQUEST_SIZE(3)\fP
|
|
|
|
.IP CURLINFO_SSL_VERIFYRESULT
|
|
Certificate verification result.
|
|
See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
|
|
|
|
.IP CURLINFO_SSL_ENGINES
|
|
A list of OpenSSL crypto engines.
|
|
See \fICURLINFO_SSL_ENGINES(3)\fP
|
|
|
|
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
|
|
Content length from the Content-Length header.
|
|
See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD(3)\fP
|
|
|
|
.IP CURLINFO_CONTENT_LENGTH_UPLOAD
|
|
Upload size.
|
|
See \fICURLINFO_CONTENT_LENGTH_UPLOAD(3)\fP
|
|
|
|
.IP CURLINFO_CONTENT_TYPE
|
|
Content type from the Content-Type header.
|
|
See \fICURLINFO_CONTENT_TYPE(3)\fP
|
|
|
|
.IP CURLINFO_PRIVATE
|
|
User's private data pointer.
|
|
See \fICURLINFO_PRIVATE(3)\fP
|
|
|
|
.IP CURLINFO_HTTPAUTH_AVAIL
|
|
Available HTTP authentication methods.
|
|
See \fICURLINFO_HTTPAUTH_AVAIL(3)\fP
|
|
|
|
.IP CURLINFO_PROXYAUTH_AVAIL
|
|
Available HTTP proxy authentication methods.
|
|
See \fICURLINFO_PROXYAUTH_AVAIL(3)\fP
|
|
|
|
.IP CURLINFO_OS_ERRNO
|
|
The errno from the last failure to connect.
|
|
See \fICURLINFO_OS_ERRNO(3)\fP
|
|
|
|
.IP CURLINFO_NUM_CONNECTS
|
|
Number of new successful connections used for previous transfer.
|
|
See \fICURLINFO_NUM_CONNECTS(3)\fP
|
|
|
|
.IP CURLINFO_PRIMARY_IP
|
|
IP address of the last connection.
|
|
See \fICURLINFO_PRIMARY_IP(3)\fP
|
|
|
|
.IP CURLINFO_PRIMARY_PORT
|
|
Port of the last connection.
|
|
See \fICURLINFO_PRIMARY_PORT(3)\fP
|
|
|
|
.IP CURLINFO_LOCAL_IP
|
|
Local-end IP address of last connection.
|
|
See \fICURLINFO_LOCAL_IP(3)\fP
|
|
|
|
.IP CURLINFO_LOCAL_PORT
|
|
Local-end port of last connection.
|
|
See \fICURLINFO_LOCAL_PORT(3)\fP
|
|
|
|
.IP CURLINFO_COOKIELIST
|
|
List of all known cookies.
|
|
See \fICURLINFO_COOKIELIST(3)\fP
|
|
|
|
.IP CURLINFO_LASTSOCKET
|
|
Last socket used.
|
|
See \fICURLINFO_LASTSOCKET(3)\fP
|
|
|
|
.IP CURLINFO_ACTIVESOCKET
|
|
The session's active socket.
|
|
See \fICURLINFO_ACTIVESOCKET(3)\fP
|
|
|
|
.IP CURLINFO_FTP_ENTRY_PATH
|
|
The entry path after logging in to an FTP server.
|
|
See \fICURLINFO_FTP_ENTRY_PATH(3)\fP
|
|
|
|
.IP CURLINFO_CERTINFO
|
|
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_CONDITION_UNMET
|
|
Whether or not a time conditional was met.
|
|
See \fICURLINFO_CONDITION_UNMET(3)\fP
|
|
|
|
.IP CURLINFO_RTSP_SESSION_ID
|
|
RTSP session ID.
|
|
See \fICURLINFO_RTSP_SESSION_ID(3)\fP
|
|
|
|
.IP CURLINFO_RTSP_CLIENT_CSEQ
|
|
RTSP CSeq that will next be used.
|
|
See \fICURLINFO_RTSP_CLIENT_CSEQ(3)\fP
|
|
|
|
.IP CURLINFO_RTSP_SERVER_CSEQ
|
|
RTSP CSeq that will next be expected.
|
|
See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP
|
|
|
|
.IP CURLINFO_RTSP_CSEQ_RECV
|
|
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()
|
|
|
|
curl_easy_perform()
|
|
|
|
|
|--NAMELOOKUP
|
|
|--|--CONNECT
|
|
|--|--|--APPCONNECT
|
|
|--|--|--|--PRETRANSFER
|
|
|--|--|--|--|--STARTTRANSFER
|
|
|--|--|--|--|--|--TOTAL
|
|
|--|--|--|--|--|--REDIRECT
|
|
.fi
|
|
.IP NAMELOOKUP
|
|
\fICURLINFO_NAMELOOKUP_TIME\fP. The time it took from the start until the name
|
|
resolving was completed.
|
|
.IP CONNECT
|
|
\fICURLINFO_CONNECT_TIME\fP. The time it took from the start until the connect
|
|
to the remote host (or proxy) was completed.
|
|
.IP APPCONNECT
|
|
\fICURLINFO_APPCONNECT_TIME\fP. The time it took from the start until the SSL
|
|
connect/handshake with the remote host was completed. (Added in in 7.19.0)
|
|
.IP PRETRANSFER
|
|
\fICURLINFO_PRETRANSFER_TIME\fP. The time 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.
|
|
.IP STARTTRANSFER
|
|
\fICURLINFO_STARTTRANSFER_TIME\fP. The time it took from the start until the
|
|
first byte is received by libcurl.
|
|
.IP TOTAL
|
|
\fICURLINFO_TOTAL_TIME\fP. Total time of the previous request.
|
|
.IP REDIRECT
|
|
\fICURLINFO_REDIRECT_TIME\fP. The time it took for all redirection steps
|
|
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)"
|