mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-19 10:28:54 +00:00

# Basically just copied from: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@130819 c90b9560-bf6c-de11-be94-00142212c4b1
441 lines
16 KiB
XML
441 lines
16 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.4 $ -->
|
|
<!-- 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 CURLOPT_INFILE and CURLOPT_INFILESIZE.
|
|
</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
|
|
CURLOPT_LOW_SPEED_TIME seconds for PHP to consider it 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 CURLOPT_LOW_SPEED_LIMIT 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>CURL_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 CURLOPT_TIMEVALUE 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 CURLOPT_TIMEVALUE
|
|
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 CURLOPT_SSLCERT
|
|
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. Anyone of the following strings (in
|
|
order from least powerful, to most powerful): 'clear', 'safe',
|
|
'confidential', 'private'. If the string does not match one of
|
|
these, then 'private' is used. If you set this to NULL,
|
|
this disables KRB4 security. KRB4 security only works with FTP
|
|
transactions currently.
|
|
</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
|
|
-->
|