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.
13 ### HTTP Protocol Version
16 Use HTTP/1.0 protocol version.
18 Use HTTP/1.1 protocol version.
20 Use any HTTP protocol version.
22 ### SSL Protocol Version
42 ### Authentication Type
45 Use Basic authentication.
47 Use Digest authentication.
49 Use IE (lower v7) quirks with Digest authentication. Available if libcurl is v7.19.3 or more recent.
51 Use NTLM authentication.
53 Use GSS-Negotiate authentication.
55 Use any authentication.
57 ### Proxy Protocol Version
60 Use SOCKSv4 proxy protocol.
62 Use SOCKSv4a proxy protocol.
63 * PROXY_SOCKS5_HOSTNAME
64 Use SOCKS5h proxy protocol.
66 Use SOCKS5 proxy protoccol.
68 Use HTTP/1.1 proxy protocol.
70 Use HTTP/1.0 proxy protocol. Available if libcurl is v7.19.4 or more recent.
72 ### POST Redirection Behavior
75 Keep POSTing on 301 redirects. Available if libcurl is v7.19.1 or more recent.
77 Keep POSTing on 302 redirects. Available if libcurl is v7.19.1 or more recent.
79 Keep POSTing on any redirect. Available if libcurl is v7.19.1 or more recent.
84 The option names used here are more or less derived from the corresponding CURLOPT_* names.
88 The HTTP protocol version. See http\Client\Curl::HTTP_VERSION_* constants.
93 The hostname of the proxy.
95 See http\Client\Curl::PROXY_* constants.
97 The port number of the proxy.
101 See http\Client\Curl::AUTH_* constants.
103 Tunnel all operations through the proxy.
105 Comma separated list of hosts where no proxy should be used. Available if libcurl is v7.19.4 or more recent.
109 * int $dns_cache_timeout
110 Resolved hosts will be kept fot this number of seconds.
112 See http\Client\Curl::IPRESOLVE_* constants.
114 A list of HOST:PORT:ADDRESS mappings which pre-populate the DNS cache. Available if libcurl is v7.21.3 or more recent.
115 * string $dns_servers
116 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.
117 * string $dns_interface
118 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.
119 * string $dns_local_ip4
120 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.
121 * string $dns_local_ip6
122 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.
126 * int $low_speed_limit
127 Minimum speed in bytes per second.
128 * int $low_speed_time
129 Maximum time in seconds the transfer can be below $low_speed_limit before cancelling.
131 Maximum download size.
133 ### Connection handling
135 * bool $fresh_connect
136 Force a new connection.
138 Force closing the connection.
143 Outgoing interface name.
145 A tuple of min/max ports.
147 Override the URL's port.
149 RFC4007 zone_id. Available if libcurl is v7.19.0 or more recent.
150 * bool $tcp_keepalive
151 Whether to use TCP keepalive. Available if libcurl is v7.25.0 or more recent.
153 Seconds to wait before sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
155 Interval in seconds to wait between sending keepalive probes. Available if libcurl is v7.25.0 or more recent.
157 Disable [Nagle's algotrithm](http://tools.ietf.org/html/rfc896).
164 See http\Client\Curl::AUTH_* constants.
169 How many redirects to follow.
170 * bool $unrestricted_auth
171 Whether to keep sending authentication credentials on redirects to different hosts.
173 See http\Client\Curl::POSTREDIR_* constants. Available if libcurl is v7.19.1 or more recent.
180 Pause this number of seconds between retries.
185 Custom Referer header.
187 Whether to automatically send referers.
189 Custom User-Agent header.
193 Whether to request compressed content (through Accept-Encoding).
195 Custom If-(Un)Modified since time. If less than zero, the current time will be added.
200 Resume from this byte offset.
202 Fetch specific ranges (if server supports byte ranges).
206 * bool $encodecookies
207 Whether to URLencode cookies.
209 List of custom cookies in the form ["name" => "value"].
210 * bool $cookiesession
211 Ignore previous session cookies to be loaded from $cookiestore.
212 * string $cookiestore
213 Path to a Netscape cookie file, from which cookies will be loaded resp. to which cookies will be written.
218 Seconds the complete transfer may take.
219 * float $connecttimeout
220 Seconds the connect may take.
221 * float $expect_100_timeout
222 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.
227 Subarray of SSL related options:
229 SSL certificate file.
231 Certificate type (DER, PEM). (Secure Transport additionally supports P12).
235 PK type (PEM, DER, ENG).
237 The password for the private key.
239 Crypto engine to use for the private key.
241 See http\Client\Curl::SSL_VERSION_* constants.
243 Whether to apply peer verification.
245 Whether to apply host verification.
246 * string $cipher_list
247 One or more cipher strings separated by colons.
249 CA bundle to verify the peer with.
251 Directory with prepared CA certs to verify the peer with.
252 * string $random_file
253 A file used to read from to seed the random engine.
255 A Entropy Gathering Daemon socket.
257 CA PEM cert for peer verification. Available if libcurl is v7.19.0 or more recent.
259 File with the concatenation of CRL in PEM format. Available if libcurl was built with OpenSSL support.
261 Enable gathering of SSL certificate chain information. Available if libcurl is v7.19.1 or more recent.