1 # namespace http\Client\Curl
3 The http\Client\Curl namespace holds option value constants specific to the curl driver of the http\Client.
9 2.1.0 | Added $dns_interface, $dns_local_ip4, $dns_local_ip6 options, $expect_100_timeout.
10 2.1.2 | Added request option constants:<br> http\Client\Curl::POSTREDIR_303,<br> http\Client\Curl::AUTH_SPNEGO,<br> http\Client\Curl::SSL_VERSION_TLSv1_0,<br> http\Client\Curl::SSL_VERSION_TLSv1_1 and<br> http\Client\Curl::SSL_VERSION_TLSv1_2
14 ### HTTP Protocol Version
17 Use HTTP/1.0 protocol version.
19 Use HTTP/1.1 protocol version.
21 Use any HTTP protocol version.
23 ### SSL Protocol Version
26 Use TLS v1.0 encryption.
28 Use TLS v1.1 encryption.
30 Use TLS v1.2 encryption.
32 Use any TLS v1 encryption.
34 Use SSL v2 encryption.
36 Use SSL v3 encryption.
49 ### Authentication Type
52 Use Basic authentication.
54 Use Digest authentication.
56 Use IE (lower v7) quirks with Digest authentication. Available if libcurl is v7.19.3 or more recent.
58 Use NTLM authentication.
60 Use GSS-Negotiate authentication.
62 Use HTTP Netgotiate authentication (SPNEGO, RFC4559). Available if libcurl is v7.38.0 or more recent.
64 Use any authentication.
66 ### Proxy Protocol Version
69 Use SOCKSv4 proxy protocol.
71 Use SOCKSv4a proxy protocol.
72 * PROXY_SOCKS5_HOSTNAME
73 Use SOCKS5h proxy protocol.
75 Use SOCKS5 proxy protoccol.
77 Use HTTP/1.1 proxy protocol.
79 Use HTTP/1.0 proxy protocol. Available if libcurl is v7.19.4 or more recent.
81 ### POST Redirection Behavior
84 Keep POSTing on 301 redirects. Available if libcurl is v7.19.1 or more recent.
86 Keep POSTing on 302 redirects. Available if libcurl is v7.19.1 or more recent.
88 Keep POSTing on 303 redirects. Available if libcurl is v7.19.1 or more recent.
90 Keep POSTing on any redirect. Available if libcurl is v7.19.1 or more recent.
95 The option names used here are more or less derived from the corresponding CURLOPT_* names.
99 The HTTP protocol version. See http\Client\Curl::HTTP_VERSION_* constants.
104 The hostname of the proxy.
106 See http\Client\Curl::PROXY_* constants.
108 The port number of the proxy.
112 See http\Client\Curl::AUTH_* constants.
114 Tunnel all operations through the proxy.
116 Comma separated list of hosts where no proxy should be used. Available if libcurl is v7.19.4 or more recent.
120 * int $dns_cache_timeout
121 Resolved hosts will be kept fot this number of seconds.
123 See http\Client\Curl::IPRESOLVE_* constants.
125 A list of HOST:PORT:ADDRESS mappings which pre-populate the DNS cache. Available if libcurl is v7.21.3 or more recent.
126 * string $dns_servers
127 Comma separated list of custom DNS servers of the form HOST[:PORT]. Available if libcurl is v7.24.0 or more recent and has built-in c-ares support.
128 * string $dns_interface
129 The name of the network interface ***name*** that the DNS resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
130 * string $dns_local_ip4
131 The local IPv4 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
132 * string $dns_local_ip6
133 The local IPv6 ***address*** that the resolver should bind to. Available if libcurl is v7.33.0 or more recent and has built-in c-ares support.
137 * int $low_speed_limit
138 Minimum speed in bytes per second.
139 * int $low_speed_time
140 Maximum time in seconds the transfer can be below $low_speed_limit before cancelling.
142 Maximum download size.
144 ### Connection handling
146 * bool $fresh_connect
147 Force a new connection.
149 Force closing the connection.
154 Outgoing interface name.
156 A tuple of min/max ports.
158 Override the URL's port.
160 RFC4007 zone_id. Available if libcurl is v7.19.0 or more recent.
161 * bool $tcp_keepalive
162 Whether to use TCP keepalive. Available if libcurl is v7.25.0 or more recent.
164 Seconds to wait before sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
166 Interval in seconds to wait between sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
168 Disable [Nagle's algotrithm](http://tools.ietf.org/html/rfc896).
175 See http\Client\Curl::AUTH_* constants.
180 How many redirects to follow.
181 * bool $unrestricted_auth
182 Whether to keep sending authentication credentials on redirects to different hosts.
184 See http\Client\Curl::POSTREDIR_* constants. Available if libcurl is v7.19.1 or more recent.
191 Pause this number of seconds between retries.
196 Custom Referer header.
198 Whether to automatically send referers.
200 Custom User-Agent header.
204 Whether to request compressed content (through Accept-Encoding).
206 Custom If-(Un)Modified since time. If less than zero, the current time will be added.
211 Resume from this byte offset.
213 Fetch specific ranges (if server supports byte ranges).
217 * bool $encodecookies
218 Whether to URLencode cookies.
220 List of custom cookies in the form ["name" => "value"].
221 * bool $cookiesession
222 Ignore previous session cookies to be loaded from $cookiestore.
223 * string $cookiestore
224 Path to a Netscape cookie file, from which cookies will be loaded resp. to which cookies will be written.
229 Seconds the complete transfer may take.
230 * float $connecttimeout
231 Seconds the connect may take.
232 * float $expect_100_timeout
233 Senconds to wait for the server to send a response to "Expect: 100-Continue" before just proceeding with the request. Available if libcurl is v7.36.0 or more recent.
238 Subarray of SSL related options:
240 SSL certificate file.
242 Certificate type (DER, PEM). (Secure Transport additionally supports P12).
246 PK type (PEM, DER, ENG).
248 The password for the private key.
250 Crypto engine to use for the private key.
252 See http\Client\Curl::SSL_VERSION_* constants.
254 Whether to apply peer verification.
256 Whether to apply host verification.
257 * string $cipher_list
258 One or more cipher strings separated by colons.
260 CA bundle to verify the peer with.
262 Directory with prepared CA certs to verify the peer with.
263 * string $random_file
264 A file used to read from to seed the random engine.
266 A Entropy Gathering Daemon socket.
268 CA PEM cert for peer verification. Available if libcurl is v7.19.0 or more recent.
270 File with the concatenation of CRL in PEM format. Available if libcurl was built with OpenSSL support.
272 Enable gathering of SSL certificate chain information. Available if libcurl is v7.19.1 or more recent.