PHP under the current for the most complete Curl Chinese description _php Foundation

Source: Internet
Author: User
Tags curl ftp ftp commands http 200 http authentication http request numeric php script
Curl function library in PHP (Client URL library function)

Curl_close-closes a Curl session
curl_copy_handle-copies all the contents and parameters of a Curl connection resource
curl_errno-returns a numeric number containing the current session error message
curl_error-returns a string containing the current session error message
curl_exec-executes a Curl session
Curl_getinfo-get information on a Curl connection resource handle
curl_init-initialization of a curl session
curl_multi_add_handle-Add a separate curl handle resource to a curl batch session
Curl_multi_close-closes a batch handle resource
curl_multi_exec-resolves a curl batch handle
curl_multi_getcontent-returns the text stream of the obtained output
Curl_multi_info_read-gets the relevant transport information of the currently resolved curl
curl_multi_init-initialization of a curl batch handle resource
curl_multi_remove_handle-removes a handle resource from a curl batch handle resource
Curl_multi_select-get the sockets associated with the curl extension, which can then to be "selected"
curl_setopt_array-sets the session parameters as an array for a curl
Curl_setopt-set session parameters for a curl
curl_version-Get Curl-related version information

The Curl_init () function Initializes a curl session, and the only parameter to the Curl_init () function is optional, representing a URL address.
The Curl_exec () function is to execute a curl session, the only argument is the handle returned by the Curl_init () function.
The role of the Curl_close () function is to close a curl session, with the only argument being a handle returned by the Curl_init () function.

<?php
$ch = Curl_init ("http://www.baidu.com/");
Curl_exec ($ch);
Curl_close ($ch);
?>

The Curl_version () function is to obtain curl-related version information, and the Curl_version () function has a parameter that does not know what to do

<?php
Print_r (Curl_version ())
?>

The Curl_getinfo () function is to get information about a Curl connection resource handle, the Curl_getinfo () function has two parameters, the first argument is the curl resource handle, and the second parameter is the following constants:

<?php
$ch = Curl_init ("http://www.baidu.com/");
Print_r (Curl_getinfo ($ch));
?>

The optional constants include:

Curlinfo_effective_url
Last valid URL address

Curlinfo_http_code
The last HTTP code received

Curlinfo_filetime
The time of the remote fetch of the document, if it cannot be obtained, the return value is "-1"

Curlinfo_total_time
The time spent on the last transfer

Curlinfo_namelookup_time
The time consumed by name resolution

Curlinfo_connect_time
Time spent establishing a connection

Curlinfo_pretransfer_time
The time that is spent from establishing the connection to preparing the transfer

Curlinfo_starttransfer_time
The time used to start the connection to the transport

Curlinfo_redirect_time
The time used to redirect before the transaction transfer begins

Curlinfo_size_upload
Total amount of uploaded data

Curlinfo_size_download
Total amount of data downloaded

Curlinfo_speed_download
Average download speed

Curlinfo_speed_upload
Average upload speed

Curlinfo_header_size
Size of Header part

Curlinfo_header_out
Send the requested string

Curlinfo_request_size
The size of the request with a problem in the HTTP request

Curlinfo_ssl_verifyresult
Result is SSL certification verification requested by setting Curlopt_ssl_verifypeer

Curlinfo_content_length_download
The length of the download content read from the Content-length:field

Curlinfo_content_length_upload
Description of upload content size

Curlinfo_content_type
The "Content-type" value of the download, NULL indicates that the server did not send a valid "Content-type:header"

The role of the curl_setopt () function is to set session parameters for a curl. The role of the Curl_setopt_array () function is to set the session parameters as an array for a curl.

<?php
$ch = Curl_init ();
$fp = fopen ("Example_homepage.txt", "w");
curl_setopt ($ch, Curlopt_file, $fp);
$options = Array (
Curlopt_url => ' http://www.baidu.com/',
Curlopt_header => False
);
Curl_setopt_array ($ch, $options);
Curl_exec ($ch);
Curl_close ($ch);
Fclose ($FP);
?>

The parameters that can be set are:

Curlopt_autoreferer
Automatically set the Referer information in the header

Curlopt_binarytransfer
Gets the data back when Curlopt_returntransfer is enabled

Curlopt_cookiesession
When enabled, Curl will simply pass a session cookie, ignoring the other cookies, and curl will return all cookies to the server by default. A session cookie is a cookie that is used to determine whether a server-side session is valid.

Curlopt_crlf
When enabled, converts a newline character from UNIX to a carriage return line feed.

Curlopt_dns_use_global_cache
When enabled, a global DNS cache is enabled, which is thread-safe and defaults to true.

Curlopt_failonerror
Displays the HTTP status code, and the default behavior is to ignore HTTP information with a number less than or equal to 400

Curlopt_filetime
When enabled, an attempt is to modify information in a remote document. The resulting information is returned through the curlinfo_filetime option of the Curl_getinfo () function.

Curlopt_followlocation
When enabled, "Location:" returned by the server server is returned recursively to the server in the header, using Curlopt_maxredirs to limit the number of recursive returns.

Curlopt_forbid_reuse
Forced disconnect after completing the interaction, cannot be reused.

Curlopt_fresh_connect
Forces a new connection to replace the connection in the cache.

Curlopt_ftp_use_eprt
TRUE to the EPRT (and LPRT) when doing active FTP downloads. Use FALSE to disable EPRT and lprt with PORT only.
Added in PHP 5.0.0.

Curlopt_ftp_use_epsv
TRUE to a EPSV command for FTP transfers before reverting back to PASV. Set to FALSE to disable EPSV.

Curlopt_ftpappend
TRUE to append to the remote file instead of overwriting it.

Curlopt_ftpascii
An alias of Curlopt_transfertext. Use that instead.

Curlopt_ftplistonly
TRUE to only list the names of FTP directory.

Curlopt_header
When enabled, the header file's information is exported as a data stream.

Curlopt_httpget
When enabled, the method of HTTP is set to get, because get is the default, so it is only used if it is modified.

Curlopt_httpproxytunnel
When enabled, it is transmitted through the HTTP proxy.

Curlopt_mute
Returns the default value for all modified parameters in the Curl function.

Curlopt_netrc
After the connection is established, access the ~/.NETRC file to get the username and password information to connect to the remote site.

Curlopt_nobody
When enabled, the body portion of HTML is not output.

Curlopt_noprogress
Turn off the progress bar for Curl transport when enabled, the default setting of this key is true

Curlopt_nosignal
When enabled, ignores all curl passed to PHP for the signal. This entry is opened by default when SAPI is multithreaded.

Curlopt_post
When enabled, a regular post request is sent, with the type: application/x-www-form-urlencoded, just like the form submission.

Curlopt_put
Allow HTTP to send files when enabled, you must set both Curlopt_infile and Curlopt_infilesize

Curlopt_returntransfer
The information that is curl_exec () is returned in the form of a file stream, rather than direct output.

Curlopt_ssl_verifypeer
FALSE to stop CURL from verifying the peer ' s certificate. Alternate certificates to verify against can is specified with the Curlopt_cainfo option or a certificate directory can Specified with the Curlopt_capath option. Curlopt_ssl_verifyhost may also need to TRUE or FALSE if curlopt_ssl_verifypeer are disabled (it defaults to 2). TRUE by default as of CURL 7.10. Default bundle installed as of CURL 7.10.

Curlopt_transfertext
TRUE to use the ASCII mode for FTP transfers. For LDAP, it retrieves data in plain text instead of HTML. On Windows systems, it won't be set STDOUT to binary mode.

Curlopt_unrestricted_auth
continues to append user name and password information in multiple locations in the header generated by using curlopt_followlocation, even if the domain name has changed.

Curlopt_upload
Allow file transfer when enabled

Curlopt_verbose
When enabled, all information is reported, stored in stderr or designated Curlopt_stderr

Curlopt_buffersize
The size of the cache is read in each fetch, and this value is filled each time.

Curlopt_closepolicy
Not curlclosepolicy_least_recently_used is curlclosepolicy_oldest, there are three other, but curl temporarily not support.

Curlopt_connecttimeout
The time to wait before initiating the connection, and if set to 0, do not wait.

Curlopt_dns_cache_timeout
Sets the time to save DNS information in memory by default of 120 seconds.

Curlopt_ftpsslauth
The FTP authentication method (where is activated): Curlftpauth_ssl (Try SSL i), Curlftpauth_tls (try TLS-A-i), or CU Rlftpauth_default (let CURL decide).

Curlopt_http_version
Set the HTTP protocol used by CURL, Curl_http_version_none (let CURL own judge), Curl_http_version_1_0 (http/1.0), Curl_http_version_1_1 (http/ 1.1)

Curlopt_httpauth
The HTTP authentication method that is used, the optional values are: Curlauth_basic,curlauth_digest,curlauth_gssnegotiate,curlauth_ntlm,curlauth_any,curlauth_ Anysafe, you can use the "|" operator separates multiple values, curl lets the server select a support best value, curlauth_any equivalent to Curlauth_basic | Curlauth_digest | Curlauth_gssnegotiate | Curlauth_ntlm,curlauth_anysafe equivalent to Curlauth_digest | Curlauth_gssnegotiate | Curlauth_ntlm

Curlopt_infilesize
Set the size of the upload file

Curlopt_low_speed_limit
When the transfer speed is less than Curlopt_low_speed_limit, PHP will be judged by Curlopt_low_speed_time to see if the transmission is canceled because it is too slow.

Curlopt_low_speed_time
The number of seconds the transfer should is below Curlopt_low_speed_limit for PHP to consider the transfer too and a Bort.
When the transfer speed is less than Curlopt_low_speed_limit, PHP will be judged by Curlopt_low_speed_time to see if the transmission is canceled because it is too slow.

Curlopt_maxconnects
Maximum number of connections allowed, over which connections should be stopped through Curlopt_closepolicy

Curlopt_maxredirs
Specifies the maximum number of HTTP redirects, which are used with curlopt_followlocation.

Curlopt_port
An optional amount to specify the connection port

Curlopt_proxyauth
The HTTP authentication method (s) to use for the proxy connection. Use the same bitmasks as described in Curlopt_httpauth. For proxy authentication, only Curlauth_basic and CURLAUTH_NTLM are currently supported.

Curlopt_proxyport
The port number of the proxy to connect to. This port number can also is set in Curlopt_proxy.

Curlopt_proxytype
Either curlproxy_http (default) or CURLPROXY_SOCKS5.

Curlopt_resume_from
Passes a byte offset (used for a breakpoint continuation) when the transfer is resumed

Curlopt_ssl_verifyhost
1 to check the existence of a common name in the SSL peer certificate.
2 to check the existence's a common name and also verify that it matches the hostname.

Curlopt_sslversion
The SSL version (2 or 3) to use. By default PHP would try to determine this itself, although in some cases the this must is set manually.

Curlopt_timecondition
If edited after a certain time specified by Curlopt_timevalue, returns the page using Curl_timecond_ifmodsince, if it has not been modified, and Curlopt_header is true, returns a "304 not Modified "Header,curlopt_header is false, the curl_timecond_isunmodsince is used, and the default value is Curl_timecond_ifmodsince

Curlopt_timeout
Set the maximum number of seconds that curl allows to execute

Curlopt_timevalue
Sets the timestamp used by a curlopt_timecondition, which is used in the default state curl_timecond_ifmodsince

Curlopt_cainfo
The name of a file holding one or more certificates to verify the peer with. This is makes sense when used in combination with Curlopt_ssl_verifypeer.

Curlopt_capath
A directory that holds multiple CA certificates. Use this option alongside Curlopt_ssl_verifypeer.

Curlopt_cookie
Sets the contents of the "Set-cookie:" section of the HTTP request.

Curlopt_cookiefile
The name of the file containing the cookie information, which can be in Netscape format or HTTP-style header information.

Curlopt_cookiejar
The name of the file that holds the cookie information after the connection is closed

Curlopt_customrequest
A custom request method to use instead of ' get ' or ' head ' when doing a HTTP request. This is useful to doing "DELETE" or other, and more obscure HTTP requests. Valid values are things like ' get ', ' POST ', ' CONNECT ' and so on; i.e. do don't enter a whole HTTP request line. For instance, entering "get/index.html http/1.0\r\n\r\n" would to be incorrect.
Note:don ' t does this without making sure the server supports the custom request method.

Curlopt_egbsocket
Like Curlopt_random_file, except a filename to a Entropy gathering Daemon socket.

Curlopt_encoding
Header in the "Accept-encoding:" section of the content, supported by the encoding format: "Identity", "deflate", "gzip." If set to an empty string, all encoding formats are supported

Curlopt_ftpport
The value which would be used to get the IP addresses to the "POST" instruction. The "POST" instruction tells the remote server to connect to my specified IP address. The string may is a plain IP address, a hostname, a network interface name (under Unix), or just a plain '-' to use the ' sy Stems default IP address.

Curlopt_interface
The name used in the external network interface, which can be an interface name, IP, or host name.

Curlopt_krb4level
KRB4 (Kerberos 4) Security level settings can be one of several values: "Clear", "safe", "confidential", "private". The default value is private, when set to null to disable KRB4, now KRB4 security can only be used in FTP transport.

Curlopt_postfields
The POST operation in HTTP. If you want to transfer a file, you need a filename at the beginning of @

Curlopt_proxy
To set up a passed HTTP proxy server

Curlopt_proxyuserpwd
User name and password in the format "[Username]:[password]", which is connected to the proxy server.

Curlopt_random_file
Set the name of the file that holds the random number of seeds used for SSL

Curlopt_range
Set the HTTP transmission range, you can set a transmission interval in the form of "X-y", if there is more than one HTTP transmission, use commas to separate multiple values, such as: "X-y,n-m".

Curlopt_referer
Set the value in the "Referer:" section of the header.

Curlopt_ssl_cipher_list
A List of ciphers to use for SSL. For example, Rc4-sha and TLSV1 are valid cipher.

Curlopt_sslcert
Passes a string containing the PEM format certificate.

curlopt_sslcertpasswd
Pass a password that is required to use the Curlopt_sslcert certificate.

Curlopt_sslcerttype
The format of the certificate. Supported formats are the "PEM" (default), "DER", and "ENG".

Curlopt_sslengine
The identifier for the "crypto engine of the" private SSL key specified in Curlopt_sslkey.

Curlopt_sslengine_default
The identifier for the crypto engine used for asymmetric crypto.

Curlopt_sslkey
The name of a file containing a private SSL key.

curlopt_sslkeypasswd
The secret password needed to use is the private SSL key specified in Curlopt_sslkey.
Note:since This option contains a sensitive password remember to keep the PHP script it is contained safe.

Curlopt_sslkeytype
The key type of the private SSL key specified in Curlopt_sslkey. Supported key types are "PEM" (default), "DER", and "ENG".

Curlopt_url
The URL address that needs to be obtained can also be set in the PHP Curl_init () function.

Curlopt_useragent
A string that contains a "user-agent" header in the HTTP request.

Curlopt_userpwd
Pass the username and password required in a connection in the form: [Username]:[password].

Curlopt_http200aliases
The setting is no longer to handle the response of HTTP 200 in the form of an error, in an array format.

Curlopt_httpheader
Sets an array of contents to be transferred in a header.

Curlopt_postquote
An array of FTP commands to execute on the server after the FTP request has been performed.

Curlopt_quote
An array of FTP commands to execute on the server prior to the FTP request.

Curlopt_file
Sets the location of the output file, the value is a resource type, and the default is stdout (browser).

Curlopt_infile
The file address to be read when uploading the file, and the value is a resource type.

Curlopt_stderr
Sets an error output address, and the value is a resource type that replaces the default stderr.

Curlopt_writeheader
Sets the write file address of the header portion of the content, and the value is a resource type.

Curlopt_headerfunction
Set a callback function that has two parameters, the first is the curl resource handle, and the second is the header data for the output. The output of the header data must depend on this function to return the data size that has been written.

Curlopt_passwdfunction
Set a callback function with three parameters, the first is the curl resource handle, the second is a password prompt, and the third parameter is the maximum password length allowed. Returns the value of the password.

Curlopt_readfunction
Sets a callback function that has two parameters, the first is the curl resource handle, and the second is the data read. Data reads must depend on this function. Returns the size of the read data, such as 0 or EOF.

Curlopt_writefunction
Set a callback function that has two parameters, the first is the curl resource handle, and the second is the data that is written. Data writes must depend on this function. Returns the exact size of the written data

The function of Curl_copy_handle () is to copy all the contents and parameters of a Curl connection resource

<?php
$ch = Curl_init ("http://www.baidu.com/");
$another = Curl_copy_handle ($ch);
Curl_exec ($another);
Curl_close ($another);
?>

The purpose of the Curl_error () function is to return a string containing the current session error message.
The Curl_errno () function returns a numeric number that contains the current session error message.

The role of the Curl_multi_init () function is to initialize a curl batch handle resource.
The role of the Curl_multi_add_handle () function is to add a separate curl handle resource to the Curl batch session. The Curl_multi_add_handle () function has two parameters, the first parameter represents a curl batch handle resource, and the second parameter represents a separate curl handle resource.
The Curl_multi_exec () function is to parse a curl batch handle, the Curl_multi_exec () function has two parameters, the first parameter represents a batch handle resource, and the second parameter is a reference value parameter. Represents the number of individual curl handle resources remaining to be processed.
The Curl_multi_remove_handle () function represents the removal of a handle resource in a curl batch handle resource, the Curl_multi_remove_handle () function has two parameters, the first parameter represents a curl batch handle resource, The second parameter represents a separate curl handle resource.
The role of the Curl_multi_close () function is to close a batch handle resource.

<?php
$ch 1 = curl_init ();
$ch 2 = Curl_init ();
curl_setopt ($ch 1, Curlopt_url, "http://www.baidu.com/");
curl_setopt ($ch 1, curlopt_header, 0);
curl_setopt ($ch 2, Curlopt_url, "http://www.google.com/");
curl_setopt ($ch 2, Curlopt_header, 0);
$MH = Curl_multi_init ();
Curl_multi_add_handle ($MH, $ch 1);
Curl_multi_add_handle ($MH, $ch 2);
do {
Curl_multi_exec ($MH, $flag);
while ($flag > 0);
Curl_multi_remove_handle ($MH, $ch 1);
Curl_multi_remove_handle ($MH, $ch 2);
Curl_multi_close ($MH);
?>

The role of the curl_multi_getcontent () function is to return the text stream of the obtained output when the Curlopt_returntransfer is set.

The role of the Curl_multi_info_read () function is to obtain the relevant transport information for the currently resolved curl.

Curl_multi_select ()
Get all the sockets associated with the CURL extension, which can then to be "selected"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.