mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-26 13:58:55 +00:00

as UNIX is a registered trademark by the Open Group. References to UNIX were left in where it made sense, like example outputs, and so forth. You can read the Trademark User Guide for "UNIX" at: http://www.unix.org/tmug2.ps or http://www.unix.org/tmug2.pdf git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@147067 c90b9560-bf6c-de11-be94-00142212c4b1
445 lines
16 KiB
XML
445 lines
16 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.8 $ -->
|
|
<!-- splitted from ./en/functions/curl.xml, last change in rev 1.1 -->
|
|
<refentry id="function.curl-setopt">
|
|
<refnamediv>
|
|
<refname>curl_setopt</refname>
|
|
<refpurpose>Set an option for a CURL transfer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>bool</type><methodname>curl_setopt</methodname>
|
|
<methodparam><type>resource</type><parameter>ch</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>option</parameter></methodparam>
|
|
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
The <function>curl_setopt</function> function will set options
|
|
for a CURL session identified by the <parameter>ch</parameter>
|
|
parameter. The <parameter>option</parameter> parameter is the
|
|
option you want to set, and the <parameter>value</parameter> is
|
|
the value of the option given by the
|
|
<parameter>option</parameter>.
|
|
</para>
|
|
<para>
|
|
The <parameter>value</parameter> should be a long for the
|
|
following options (specified in the <parameter>option</parameter>
|
|
parameter):
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_INFILESIZE</parameter>: When you are
|
|
uploading a file to a remote site, this option should be used
|
|
to tell PHP what the expected size of the infile will be.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_VERBOSE</parameter>: Set this option to a
|
|
non-zero value if you want CURL to report everything that is
|
|
happening.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_HEADER</parameter>: Set this option to a
|
|
non-zero value if you want the header to be included in the
|
|
output.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_NOPROGRESS</parameter>: Set this option to
|
|
a non-zero value if you don't want PHP to display a progress
|
|
meter for CURL transfers.
|
|
<note>
|
|
<simpara>
|
|
PHP automatically sets this option to a non-zero parameter,
|
|
this should only be changed for debugging purposes.
|
|
</simpara>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_NOBODY</parameter>: Set this option to a
|
|
non-zero value if you don't want the body included with the
|
|
output.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FAILONERROR</parameter>: Set this option to
|
|
a non-zero value if you want PHP to fail silently if the HTTP
|
|
code returned is greater than 300. The default behavior is
|
|
to return the page normally, ignoring the code.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_UPLOAD</parameter>: Set this option to a
|
|
non-zero value if you want PHP to prepare for an upload.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_POST</parameter>: Set this option to a
|
|
non-zero value if you want PHP to do a regular HTTP POST.
|
|
This POST is a normal <literal>application/x-www-form-urlencoded</literal>
|
|
kind, most commonly used by HTML forms.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FTPLISTONLY</parameter>: Set this option to
|
|
a non-zero value and PHP will just list the names of an FTP
|
|
directory.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FTPAPPEND</parameter>: Set this option to a
|
|
non-zero value and PHP will append to the remote file instead
|
|
of overwriting it.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_NETRC</parameter>: Set this option to a
|
|
non-zero value and PHP will scan your <filename>~./netrc</filename>
|
|
file to find your username and password for the remote site that
|
|
you're establishing a connection with.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FOLLOWLOCATION</parameter>: Set this option
|
|
to a non-zero value to follow any "Location: " header that the
|
|
server sends as a part of the HTTP header (note this is
|
|
recursive, PHP will follow as many "Location: " headers that
|
|
it is sent.)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_PUT</parameter>: Set this option to a non-zero
|
|
value to HTTP PUT a file. The file to PUT must be set with
|
|
the <parameter>CURLOPT_INFILE</parameter> and
|
|
<parameter>CURLOPT_INFILESIZE</parameter>.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_MUTE</parameter>: Set this option to a
|
|
non-zero value and PHP will be completely silent with regards
|
|
to the CURL functions.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_TIMEOUT</parameter>: Pass a long as a
|
|
parameter that contains the maximum time, in seconds, that
|
|
you'll allow the CURL functions to take.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_LOW_SPEED_LIMIT</parameter>: Pass a long as
|
|
a parameter that contains the transfer speed in bytes per
|
|
second that the transfer should be below during
|
|
<parameter>CURLOPT_LOW_SPEED_TIME</parameter> seconds for PHP to
|
|
consider too slow and abort.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_LOW_SPEED_TIME</parameter>: Pass a long as
|
|
a parameter that contains the time in seconds that the
|
|
transfer should be below the
|
|
<parameter>CURLOPT_LOW_SPEED_LIMIT</parameter> for PHP
|
|
to consider it too slow and abort.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_RESUME_FROM</parameter>: Pass a long as a
|
|
parameter that contains the offset, in bytes, that you want
|
|
the transfer to start from.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_CAINFO</parameter>: Pass a filename of a file
|
|
holding one or more certificates to verify the peer with. This only
|
|
makes sense when used in combination with the
|
|
<parameter>CURLOPT_SSL_VERIFYPEER</parameter> option.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_SSL_VERIFYPEER</parameter>: Pass a long that is set
|
|
to a zero value to stop curl from verifying the peer's certificate
|
|
(curl 7.10 starting setting this option to &true; by default).
|
|
Alternate certificates to verify against can be specified with the
|
|
<parameter>CURLOPT_CAINFO</parameter> option (added in curl 7.9.8)
|
|
or a certificate directory can be specified with the <parameter>
|
|
CURLOPT_CAPATH</parameter> option. As of curl 7.10, curl installs a
|
|
default bundle. <parameter>CURLOPT_SSL_VERIFYHOST</parameter> may
|
|
also need to be set to 1 or 0 if <parameter>CURLOPT_SSL_VERIFYPEER
|
|
</parameter> is disabled (it defaults to 2).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_SSLVERSION</parameter>: Pass a long as a
|
|
parameter that contains the SSL version (2 or 3) to use. By
|
|
default PHP will try and determine this by itself, although,
|
|
in some cases you must set this manually.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_SSL_VERIFYHOST</parameter>: Pass a long if
|
|
CURL should verify the Common name of the peer certificate in the
|
|
SSL handshake. A value of 1 denotes that we should check for the
|
|
existence of the common name, a value of 2 denotes that we should
|
|
make sure it matches the provided hostname.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_TIMECONDITION</parameter>: Pass a long as a
|
|
parameter that defines how the
|
|
<parameter>CURLOPT_TIMEVALUE</parameter> is treated.
|
|
You can set this parameter to TIMECOND_IFMODSINCE or
|
|
TIMECOND_ISUNMODSINCE. This is a HTTP-only feature.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_TIMEVALUE</parameter>: Pass a long as a
|
|
parameter that is the time in seconds since January 1st, 1970.
|
|
The time will be used as specified by the
|
|
<parameter>CURLOPT_TIMECONDITION</parameter>
|
|
option, or by default the TIMECOND_IFMODSINCE will be used.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_RETURNTRANSFER</parameter>: Pass a non-zero
|
|
value if you want CURL to directly return the transfer instead
|
|
of printing it out directly.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
<para>
|
|
The <parameter>value</parameter> parameter should be a string for
|
|
the following values of the <parameter>option</parameter>
|
|
parameter:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_URL</parameter>: This is the URL that you
|
|
want PHP to fetch. You can also set this option when
|
|
initializing a session with the <function>curl_init</function>
|
|
function.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_USERPWD</parameter>: Pass a string
|
|
formatted in the [username]:[password] manner, for PHP to use
|
|
for the connection.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_PROXYUSERPWD</parameter>: Pass a string
|
|
formatted in the [username]:[password] format for connection
|
|
to the HTTP proxy.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_RANGE</parameter>: Pass the specified range
|
|
you want. It should be in the "X-Y" format, where X or Y may
|
|
be left out. The HTTP transfers also support several
|
|
intervals, separated with commas as in X-Y,N-M.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_POSTFIELDS</parameter>: Pass a string
|
|
containing the full data to post in an HTTP "POST" operation.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_REFERER</parameter>: Pass a string
|
|
containing the "referer" header to be used in an HTTP request.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_USERAGENT</parameter>: Pass a string
|
|
containing the "user-agent" header to be used in an HTTP
|
|
request.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FTPPORT</parameter>: Pass a string
|
|
containing the value which will be used to get the IP address to use
|
|
for the ftp "POST" instruction. The POST instruction tells
|
|
the remote server to connect to our specified IP address. The
|
|
string may be a plain IP address, a hostname, a network
|
|
interface name (under Unix), or just a plain '-' to use the
|
|
systems default IP address.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_COOKIE</parameter>: Pass a string
|
|
containing the content of the cookie to be set in the HTTP
|
|
header.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_SSLCERT</parameter>: Pass a string
|
|
containing the filename of PEM formatted certificate.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_SSLCERTPASSWD</parameter>: Pass a string
|
|
containing the password required to use the
|
|
<parameter>CURLOPT_SSLCERT</parameter> certificate.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_COOKIEFILE</parameter>: Pass a string
|
|
containing the name of the file containing the cookie data.
|
|
The cookie file can be in Netscape format, or just plain
|
|
HTTP-style headers dumped into a file.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_CUSTOMREQUEST</parameter>: Pass a string to
|
|
be used instead of <literal>GET</literal> or
|
|
<literal>HEAD</literal> when doing an HTTP request. This is
|
|
useful for doing <literal>DELETE</literal> or other, more
|
|
obscure, HTTP requests. Valid values are things like
|
|
<literal>GET</literal>, <literal>POST</literal>, and so on;
|
|
i.e. do not enter a whole HTTP request line here. For instance,
|
|
entering 'GET /index.html HTTP/1.0\r\n\r\n' would be incorrect.
|
|
<note>
|
|
<simpara>
|
|
Don't do this without making sure your server supports the
|
|
command first.
|
|
</simpara>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_PROXY</parameter>: Give the name of the HTTP
|
|
proxy to tunnel requests through.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_INTERFACE</parameter>: Pass the name of the
|
|
outgoing network interface to use. This can be an interface name,
|
|
an IP address or a host name.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_KRB4LEVEL</parameter>: Pass the KRB4 (Kerberos
|
|
4) security level. Any of the following values (in
|
|
order from least to most powerful) are valid: 'clear', 'safe',
|
|
'confidential', 'private'. If the string does not match one of
|
|
these, then 'private' is used. Setting this Option to
|
|
<literal>NULL</literal>, will disable KRB4 security. Currently KRB4
|
|
security only works with FTP transactions.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_HTTPHEADER</parameter>: Pass an array of HTTP
|
|
header fields to set.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_QUOTE</parameter>: Pass an array of FTP commands
|
|
to perform on the server prior to the FTP request.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<parameter>CURLOPT_POSTQUOTE</parameter>: Pass an array of FTP
|
|
commands to execute on the server, after the FTP request has been
|
|
performed.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
<para>
|
|
The following options expect a file descriptor that is obtained
|
|
by using the <function>fopen</function> function:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_FILE</parameter>: The file where the output
|
|
of your transfer should be placed, the default is STDOUT.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_INFILE</parameter>: The file where the
|
|
input of your transfer comes from.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_WRITEHEADER</parameter>: The file to write
|
|
the header part of the output into.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<parameter>CURLOPT_STDERR</parameter>: The file to write
|
|
errors to instead of stderr.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|