1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
4 <title>curl_easy_getinfo man page</title>
5 <meta name="generator" content="roffit">
6 <STYLE type="text/css">
12 P.level0, pre.level0 {
16 P.level1, pre.level1 {
20 P.level2, pre.level2 {
37 background-color: #e0e0e0;
43 font-family: monospace;
53 <p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
54 <p class="level0">curl_easy_getinfo - extract information from a curl handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
55 <p class="level0"><span Class="bold">#include <curl/curl.h></span>
56 <p class="level0"><span Class="bold">CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );</span>
57 <p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
58 <p class="level0">Request internal information from the curl session with this function. The third argument <span Class="bold">MUST</span> 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.
59 <p class="level0">You should not free the memory returned by this function unless it is explicitly mentioned below. <a name="AVAILABLE"></a><h2 class="nroffsh">AVAILABLE INFORMATION</h2>
60 <p class="level0">The following information can be extracted:
61 <p class="level0"><a name="CURLINFOEFFECTIVEURL"></a><span class="nroffip">CURLINFO_EFFECTIVE_URL</span>
62 <p class="level1">Last used URL. See <span Class="emphasis">CURLINFO_EFFECTIVE_URL(3)</span>
63 <p class="level0"><a name="CURLINFORESPONSECODE"></a><span class="nroffip">CURLINFO_RESPONSE_CODE</span>
64 <p class="level1">Last received response code. See <span Class="emphasis">CURLINFO_RESPONSE_CODE(3)</span>
65 <p class="level0"><a name="CURLINFOHTTPCONNECTCODE"></a><span class="nroffip">CURLINFO_HTTP_CONNECTCODE</span>
66 <p class="level1">Last proxy CONNECT response code. See <span Class="emphasis">CURLINFO_HTTP_CONNECTCODE(3)</span>
67 <p class="level0"><a name="CURLINFOHTTPVERSION"></a><span class="nroffip">CURLINFO_HTTP_VERSION</span>
68 <p class="level1">The http version used in the connection. See <span Class="emphasis">CURLINFO_HTTP_VERSION(3)</span>
69 <p class="level0"><a name="CURLINFOFILETIME"></a><span class="nroffip">CURLINFO_FILETIME</span>
70 <p class="level1">Remote time of the retrieved document. See <span Class="emphasis">CURLINFO_FILETIME(3)</span>
71 <p class="level0"><a name="CURLINFOTOTALTIME"></a><span class="nroffip">CURLINFO_TOTAL_TIME</span>
72 <p class="level1">Total time of previous transfer. See <span Class="emphasis">CURLINFO_TOTAL_TIME(3)</span>
73 <p class="level0"><a name="CURLINFONAMELOOKUPTIME"></a><span class="nroffip">CURLINFO_NAMELOOKUP_TIME</span>
74 <p class="level1">Time from start until name resolving completed. See <span Class="emphasis">CURLINFO_NAMELOOKUP_TIME(3)</span>
75 <p class="level0"><a name="CURLINFOCONNECTTIME"></a><span class="nroffip">CURLINFO_CONNECT_TIME</span>
76 <p class="level1">Time from start until remote host or proxy completed. See <span Class="emphasis">CURLINFO_CONNECT_TIME(3)</span>
77 <p class="level0"><a name="CURLINFOAPPCONNECTTIME"></a><span class="nroffip">CURLINFO_APPCONNECT_TIME</span>
78 <p class="level1">Time from start until SSL/SSH handshake completed. See <span Class="emphasis">CURLINFO_APPCONNECT_TIME(3)</span>
79 <p class="level0"><a name="CURLINFOPRETRANSFERTIME"></a><span class="nroffip">CURLINFO_PRETRANSFER_TIME</span>
80 <p class="level1">Time from start until just before the transfer begins. See <span Class="emphasis">CURLINFO_PRETRANSFER_TIME(3)</span>
81 <p class="level0"><a name="CURLINFOSTARTTRANSFERTIME"></a><span class="nroffip">CURLINFO_STARTTRANSFER_TIME</span>
82 <p class="level1">Time from start until just when the first byte is received. See <span Class="emphasis">CURLINFO_STARTTRANSFER_TIME(3)</span>
83 <p class="level0"><a name="CURLINFOREDIRECTTIME"></a><span class="nroffip">CURLINFO_REDIRECT_TIME</span>
84 <p class="level1">Time taken for all redirect steps before the final transfer. See <span Class="emphasis">CURLINFO_REDIRECT_TIME(3)</span>
85 <p class="level0"><a name="CURLINFOREDIRECTCOUNT"></a><span class="nroffip">CURLINFO_REDIRECT_COUNT</span>
86 <p class="level1">Total number of redirects that were followed. See <span Class="emphasis">CURLINFO_REDIRECT_COUNT(3)</span>
87 <p class="level0"><a name="CURLINFOREDIRECTURL"></a><span class="nroffip">CURLINFO_REDIRECT_URL</span>
88 <p class="level1">URL a redirect would take you to, had you enabled redirects. See <span Class="emphasis">CURLINFO_REDIRECT_URL(3)</span>
89 <p class="level0"><a name="CURLINFOSIZEUPLOAD"></a><span class="nroffip">CURLINFO_SIZE_UPLOAD</span>
90 <p class="level1">Number of bytes uploaded. See <span Class="emphasis">CURLINFO_SIZE_UPLOAD(3)</span>
91 <p class="level0"><a name="CURLINFOSIZEDOWNLOAD"></a><span class="nroffip">CURLINFO_SIZE_DOWNLOAD</span>
92 <p class="level1">Number of bytes downloaded. See <span Class="emphasis">CURLINFO_SIZE_DOWNLOAD(3)</span>
93 <p class="level0"><a name="CURLINFOSPEEDDOWNLOAD"></a><span class="nroffip">CURLINFO_SPEED_DOWNLOAD</span>
94 <p class="level1">Average download speed. See <span Class="emphasis">CURLINFO_SPEED_DOWNLOAD(3)</span>
95 <p class="level0"><a name="CURLINFOSPEEDUPLOAD"></a><span class="nroffip">CURLINFO_SPEED_UPLOAD</span>
96 <p class="level1">Average upload speed. See <span Class="emphasis">CURLINFO_SPEED_UPLOAD(3)</span>
97 <p class="level0"><a name="CURLINFOHEADERSIZE"></a><span class="nroffip">CURLINFO_HEADER_SIZE</span>
98 <p class="level1">Number of bytes of all headers received. See <span Class="emphasis">CURLINFO_HEADER_SIZE(3)</span>
99 <p class="level0"><a name="CURLINFOREQUESTSIZE"></a><span class="nroffip">CURLINFO_REQUEST_SIZE</span>
100 <p class="level1">Number of bytes sent in the issued HTTP requests. See <span Class="emphasis">CURLINFO_REQUEST_SIZE(3)</span>
101 <p class="level0"><a name="CURLINFOSSLVERIFYRESULT"></a><span class="nroffip">CURLINFO_SSL_VERIFYRESULT</span>
102 <p class="level1">Certificate verification result. See <span Class="emphasis">CURLINFO_SSL_VERIFYRESULT(3)</span>
103 <p class="level0"><a name="CURLINFOSSLENGINES"></a><span class="nroffip">CURLINFO_SSL_ENGINES</span>
104 <p class="level1">A list of OpenSSL crypto engines. See <span Class="emphasis">CURLINFO_SSL_ENGINES(3)</span>
105 <p class="level0"><a name="CURLINFOCONTENTLENGTHDOWNLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_DOWNLOAD</span>
106 <p class="level1">Content length from the Content-Length header. See <span Class="emphasis">CURLINFO_CONTENT_LENGTH_DOWNLOAD(3)</span>
107 <p class="level0"><a name="CURLINFOCONTENTLENGTHUPLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_UPLOAD</span>
108 <p class="level1">Upload size. See <span Class="emphasis">CURLINFO_CONTENT_LENGTH_UPLOAD(3)</span>
109 <p class="level0"><a name="CURLINFOCONTENTTYPE"></a><span class="nroffip">CURLINFO_CONTENT_TYPE</span>
110 <p class="level1">Content type from the Content-Type header. See <span Class="emphasis">CURLINFO_CONTENT_TYPE(3)</span>
111 <p class="level0"><a name="CURLINFOPRIVATE"></a><span class="nroffip">CURLINFO_PRIVATE</span>
112 <p class="level1">User's private data pointer. See <span Class="emphasis">CURLINFO_PRIVATE(3)</span>
113 <p class="level0"><a name="CURLINFOHTTPAUTHAVAIL"></a><span class="nroffip">CURLINFO_HTTPAUTH_AVAIL</span>
114 <p class="level1">Available HTTP authentication methods. See <span Class="emphasis">CURLINFO_HTTPAUTH_AVAIL(3)</span>
115 <p class="level0"><a name="CURLINFOPROXYAUTHAVAIL"></a><span class="nroffip">CURLINFO_PROXYAUTH_AVAIL</span>
116 <p class="level1">Available HTTP proxy authentication methods. See <span Class="emphasis">CURLINFO_PROXYAUTH_AVAIL(3)</span>
117 <p class="level0"><a name="CURLINFOOSERRNO"></a><span class="nroffip">CURLINFO_OS_ERRNO</span>
118 <p class="level1">The errno from the last failure to connect. See <span Class="emphasis">CURLINFO_OS_ERRNO(3)</span>
119 <p class="level0"><a name="CURLINFONUMCONNECTS"></a><span class="nroffip">CURLINFO_NUM_CONNECTS</span>
120 <p class="level1">Number of new successful connections used for previous transfer. See <span Class="emphasis">CURLINFO_NUM_CONNECTS(3)</span>
121 <p class="level0"><a name="CURLINFOPRIMARYIP"></a><span class="nroffip">CURLINFO_PRIMARY_IP</span>
122 <p class="level1">IP address of the last connection. See <span Class="emphasis">CURLINFO_PRIMARY_IP(3)</span>
123 <p class="level0"><a name="CURLINFOPRIMARYPORT"></a><span class="nroffip">CURLINFO_PRIMARY_PORT</span>
124 <p class="level1">Port of the last connection. See <span Class="emphasis">CURLINFO_PRIMARY_PORT(3)</span>
125 <p class="level0"><a name="CURLINFOLOCALIP"></a><span class="nroffip">CURLINFO_LOCAL_IP</span>
126 <p class="level1">Local-end IP address of last connection. See <span Class="emphasis">CURLINFO_LOCAL_IP(3)</span>
127 <p class="level0"><a name="CURLINFOLOCALPORT"></a><span class="nroffip">CURLINFO_LOCAL_PORT</span>
128 <p class="level1">Local-end port of last connection. See <span Class="emphasis">CURLINFO_LOCAL_PORT(3)</span>
129 <p class="level0"><a name="CURLINFOCOOKIELIST"></a><span class="nroffip">CURLINFO_COOKIELIST</span>
130 <p class="level1">List of all known cookies. See <span Class="emphasis">CURLINFO_COOKIELIST(3)</span>
131 <p class="level0"><a name="CURLINFOLASTSOCKET"></a><span class="nroffip">CURLINFO_LASTSOCKET</span>
132 <p class="level1">Last socket used. See <span Class="emphasis">CURLINFO_LASTSOCKET(3)</span>
133 <p class="level0"><a name="CURLINFOACTIVESOCKET"></a><span class="nroffip">CURLINFO_ACTIVESOCKET</span>
134 <p class="level1">The session's active socket. See <span Class="emphasis">CURLINFO_ACTIVESOCKET(3)</span>
135 <p class="level0"><a name="CURLINFOFTPENTRYPATH"></a><span class="nroffip">CURLINFO_FTP_ENTRY_PATH</span>
136 <p class="level1">The entry path after logging in to an FTP server. See <span Class="emphasis">CURLINFO_FTP_ENTRY_PATH(3)</span>
137 <p class="level0"><a name="CURLINFOCERTINFO"></a><span class="nroffip">CURLINFO_CERTINFO</span>
138 <p class="level1">Certificate chain. See <span Class="emphasis">CURLINFO_CERTINFO(3)</span>
139 <p class="level0"><a name="CURLINFOTLSSSLPTR"></a><span class="nroffip">CURLINFO_TLS_SSL_PTR</span>
140 <p class="level1">TLS session info that can be used for further processing. See <span Class="emphasis">CURLINFO_TLS_SSL_PTR(3)</span>
141 <p class="level0"><a name="CURLINFOTLSSESSION"></a><span class="nroffip">CURLINFO_TLS_SESSION</span>
142 <p class="level1">TLS session info that can be used for further processing. See <span Class="emphasis">CURLINFO_TLS_SESSION(3)</span>. Deprecated option, use <span Class="emphasis">CURLINFO_TLS_SSL_PTR(3)</span> instead!
143 <p class="level0"><a name="CURLINFOCONDITIONUNMET"></a><span class="nroffip">CURLINFO_CONDITION_UNMET</span>
144 <p class="level1">Whether or not a time conditional was met. See <span Class="emphasis">CURLINFO_CONDITION_UNMET(3)</span>
145 <p class="level0"><a name="CURLINFORTSPSESSIONID"></a><span class="nroffip">CURLINFO_RTSP_SESSION_ID</span>
146 <p class="level1">RTSP session ID. See <span Class="emphasis">CURLINFO_RTSP_SESSION_ID(3)</span>
147 <p class="level0"><a name="CURLINFORTSPCLIENTCSEQ"></a><span class="nroffip">CURLINFO_RTSP_CLIENT_CSEQ</span>
148 <p class="level1">RTSP CSeq that will next be used. See <span Class="emphasis">CURLINFO_RTSP_CLIENT_CSEQ(3)</span>
149 <p class="level0"><a name="CURLINFORTSPSERVERCSEQ"></a><span class="nroffip">CURLINFO_RTSP_SERVER_CSEQ</span>
150 <p class="level1">RTSP CSeq that will next be expected. See <span Class="emphasis">CURLINFO_RTSP_SERVER_CSEQ(3)</span>
151 <p class="level0"><a name="CURLINFORTSPCSEQRECV"></a><span class="nroffip">CURLINFO_RTSP_CSEQ_RECV</span>
152 <p class="level1">RTSP CSeq last received. See <span Class="emphasis">CURLINFO_RTSP_CSEQ_RECV(3)</span> <a name="TIMES"></a><h2 class="nroffsh">TIMES</h2>
153 <p class="level0"><pre class="level0">
154 An overview of the six time values available from curl_easy_getinfo()
160 |--|--|--APPCONNECT
161 |--|--|--|--PRETRANSFER
162 |--|--|--|--|--STARTTRANSFER
163 |--|--|--|--|--|--TOTAL
164 |--|--|--|--|--|--REDIRECT
168 <p class="level0"><a name="NAMELOOKUP"></a><span class="nroffip">NAMELOOKUP</span>
169 <p class="level1"><a class="emphasis" href="#CURLINFONAMELOOKUPTIME">CURLINFO_NAMELOOKUP_TIME</a>. The time it took from the start until the name resolving was completed.
170 <p class="level0"><a name="CONNECT"></a><span class="nroffip">CONNECT</span>
171 <p class="level1"><a class="emphasis" href="#CURLINFOCONNECTTIME">CURLINFO_CONNECT_TIME</a>. The time it took from the start until the connect to the remote host (or proxy) was completed.
172 <p class="level0"><a name="APPCONNECT"></a><span class="nroffip">APPCONNECT</span>
173 <p class="level1"><a class="emphasis" href="#CURLINFOAPPCONNECTTIME">CURLINFO_APPCONNECT_TIME</a>. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0)
174 <p class="level0"><a name="PRETRANSFER"></a><span class="nroffip">PRETRANSFER</span>
175 <p class="level1"><a class="emphasis" href="#CURLINFOPRETRANSFERTIME">CURLINFO_PRETRANSFER_TIME</a>. 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.
176 <p class="level0"><a name="STARTTRANSFER"></a><span class="nroffip">STARTTRANSFER</span>
177 <p class="level1"><a class="emphasis" href="#CURLINFOSTARTTRANSFERTIME">CURLINFO_STARTTRANSFER_TIME</a>. The time it took from the start until the first byte is received by libcurl.
178 <p class="level0"><a name="TOTAL"></a><span class="nroffip">TOTAL</span>
179 <p class="level1"><a class="emphasis" href="#CURLINFOTOTALTIME">CURLINFO_TOTAL_TIME</a>. Total time of the previous request.
180 <p class="level0"><a name="REDIRECT"></a><span class="nroffip">REDIRECT</span>
181 <p class="level1"><a class="emphasis" href="#CURLINFOREDIRECTTIME">CURLINFO_REDIRECT_TIME</a>. 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. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
182 <p class="level0">If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
183 <p class="level0"><a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a><p class="roffit">
184 This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.