PHP's Curl Simple introduction _php tutorial

Source: Internet
Author: User
Tags http cookie http post
What is curl,php and curl


A What is Curl

Curl is a file transfer tool that works with URL syntax in the command line mode. Curl is a file transfer tool that works with URL syntax in the command line mode.

It supports many protocols: FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE, and LDAP. Curl also supports HTTPS authentication, HTTP POST method, HTTP put method, FTP upload, Kerberos authentication, HTTP upload, proxy server, cookies, username/password Authentication, download file breakpoint continuation,

Upload file breakpoint Continuation, HTTP proxy server pipeline (proxy tunneling), even it also supports IPV6, SOCKS5 proxy server, upload files via HTTP proxy server to FTP server and so on, the function is very powerful.

It turns out that PHP does not extend this functionality by default, but it does, but it does not make it effective. Open the PHP installation directory and search for the following three files Ssleay32.dll, Libeay32.dll, and Php_curl.dll,

One by one copy to the system directory under the System32 folder, modify the php.ini file, find it, extension= Php_curl.dll line, remove the front, save, restart the server

Website collection, login, cookies, etc.

The Curl Library in PHP two

Curl_close-Closes a curl session

Curl_copy_handle-Copy all the contents and parameters of a Curl connection resource

Curl_errno-Returns a numeric number containing the current session error information

Curl_error-Returns a string containing the current session error message

Curl_exec-performing a curl session

Curl_getinfo-Gets the information for a Curl connection resource handle

Curl_init-Initializing a Curl session

Curl_multi_add_handle-Adding a separate curl handle resource to a curl batch session

Curl_multi_close-Closes a batch handle resource

Curl_multi_exec-Parsing a curl batch handle

Curl_multi_getcontent-Returns the text stream of the obtained output

Curl_multi_info_read-Gets the relevant transport information for the currently resolved curl

Curl_multi_init-Initializes a curl batch handle resource

Curl_multi_remove_handle-Removes a handle resource from a curl batch handle resource

Curl_multi_select-get all the sockets associated with the CURL extension, which can and be "selected"

Curl_setopt_array-Sets the session parameters for a curl as an array

curl_setopt-set session parameters for a curl

Curl_version-Get version information related to curl

The Curl_init () function Initializes a curl session, and the only parameter to the Curl_init () function is optional, representing a URL address.

The function of the curl_exec () function is to perform a curl session, and the only argument is the handle returned by the Curl_init () function.

The function of the Curl_close () function is to close a curl session, and the only argument is the handle returned by the Curl_init () function.

Three about the setting of the curl_setopt () function

BOOL curl_setopt (int ch, string option, mixed value)

The curl_setopt () function sets options for a curl session. The option parameter is the setting that you want, and value is the one given by this choice.

The values of the following options are used as long shapes (specified in the option parameter):

* Curlopt_infilesize: When you upload a file to a remote site, this option tells PHP the size of your upload file.

* Curlopt_verbose: If you want curl to report every unexpected thing, set this option to a value other than 0.

* Curlopt_header: If you want to include a header in the output, set this option to a value other than 0.

* Curlopt_noprogress: If you do not have PHP display a process bar for curl transfer, set this option to a value other than 0. Note: PHP automatically sets this option to a value other than 0, you should only change this option for debugging purposes.

* Curlopt_nobody: If you do not want to include the body part in the output, set this option to a value other than 0.

* Curlopt_failonerror: If you want PHP to not display when an error occurs (HTTP code returns greater than or equal to 300), set this option to one person other than 0 value. The default behavior is to return a normal page, ignoring the code.

* Curlopt_upload: If you want PHP to prepare for uploading, set this option to a value other than 0.

* Curlopt_post: If you want PHP to do a regular HTTP POST, set this option to a value other than 0. This post is an ordinary application/x-www-from-urlencoded type, most of which is used by HTML forms.

* Curlopt_ftplistonly: Set this option to a value other than 0, PHP will list the list of directory names for FTP.

* Curlopt_ftpappend: Set this option to a value other than 0, PHP will apply the remote file instead of overwriting it.

* CURLOPT_NETRC: Set this option to a value other than 0, PHP will look in your ~./netrc file for the user name and password of the remote site you want to connect to.

* Curlopt_followlocation: Set this option to a non-0 value (like "Location:") header, the server will send it as part of the HTTP header (note that this is recursive, PHP will be sent as "location:" the head).

* Curlopt_put: Set this option to use HTTP to upload a file for a value other than 0. To upload this file you must set the Curlopt_infile and Curlopt_infilesize options.

* Curlopt_mute: Set this option to a value other than 0, PHP will be completely silent for the curl function.

* Curlopt_timeout: Sets a long shape number, as the maximum continuation of how many seconds.

* Curlopt_low_speed_limit: Sets a long shaping number, controlling how many bytes are transferred.

* Curlopt_low_speed_time: Set a long shape number, control how many seconds to transmit curlopt_low_speed_limit the specified number of bytes.

* Curlopt_resume_from: Pass a long shaping parameter that contains the byte offset address (the start form you want to transfer to).

* Curlopt_sslversion: Pass a long parameter containing the SSL version. The default PHP will be determined by its own efforts, and in more security you must set it up manually.

* Curlopt_timecondition: Pass a long parameter specifying how to handle the Curlopt_timevalue parameter. You can set this parameter to Timecond_ifmodsince or timecond_isunmodsince. This is used only for HTTP.

* Curlopt_timevalue: Pass a number of seconds starting from 1970-1-1 to now. This time will be used by the Curlopt_timevalue option as the specified value, or by default timecond_ifmodsince.

The values of the following options will be used as strings:

* Curlopt_url: This is the URL address you would like to retrieve with PHP. You can also set this option when initializing with the Curl_init () function.

* Curlopt_userpwd: Pass a shape like [Username]:[password] style string, function PHP to connect.

* Curlopt_proxyuserpwd: Pass a string that is formatted as [Username]:[password] to connect to the HTTP proxy.

* Curlopt_range: Pass a range that you want to specify. It should be in the "X-y" format, except for X. or Y. HTTP delivery also supports several intervals, separated by a phrase (x-y,n-m).

* Curlopt_postfields: Pass a string of all data as an HTTP "POST" operation.

* Curlopt_referer: A string containing a "REFERER" header in the HTTP request.

* Curlopt_useragent: A string containing a "user-agent" header in the HTTP request.

* Curlopt_ftpport: Pass an IP address that contains the FTP "POST" instruction used. This post command tells the remote server to connect to the IP address we specified. This string can be an IP address, a host name, a network interface name (under Unix), or '-' (using the system default IP address).

* Curlopt_cookie: Pass a header connection that contains an HTTP COOKIE.

* Curlopt_sslcert: Pass a string containing a certificate in PEM format.

* CURLOPT_SSLCERTPASSWD: Pass a password that contains required to use the Curlopt_sslcert certificate.

* Curlopt_cookiefile: A string that passes the name of a file that contains cookie data. This cookie file can be a Netscape format, or an HTTP-style header that is stockpiled in a file.

* Curlopt_customrequest: When making an HTTP request, pass a character to be used by get or head. For a delete or other operation is beneficial, more pass a string to is used instead of GET or HEAD when doing an HTTP request. This was useful for doing or another, and more obscure, HTTP request. Note: Do not do this before confirming your server support commands. The following options require a file description (obtained by using the fopen () function):

* Curlopt_file: This file will be the output file you placed to send, the default is stdout.

* Curlopt_infile: This file is the input file you sent over.

* Curlopt_writeheader: This file is written with the head section of your output.

* Curlopt_stderr: This file is written with errors rather than STDERR. To get an example of a page that needs to be signed in, the current practice is to log in once every time, and the person who needs to do it is improved.

Four related examples

1 examples
View Plaincopy to Clipboardprint?

$cookie _jar = Tempnam (./tmp,cookie);

$ch = Curl_init (); curl_setopt ($ch, curlopt_url,http://******);

curl_setopt ($ch, Curlopt_post, 1);

$request = email_address=&password=&action=;

curl_setopt ($ch, Curlopt_postfields, $request);
Save the returned cookie information in the $cookie_jar file

curl_setopt ($ch, Curlopt_cookiejar, $cookie _jar);

Sets whether the returned data is automatically displayed

curl_setopt ($ch, Curlopt_returntransfer, 1);

Set whether to display header information

curl_setopt ($ch, Curlopt_header, false);

Set whether to output page content

curl_setopt ($ch, Curlopt_nobody, false);

Curl_exec ($ch);

Curl_close ($ch); Get data after Login

$ch 2 = Curl_init ();

curl_setopt ($ch 2, Curlopt_url, http://*****);

curl_setopt ($ch 2 true techarticle what is curl,php with curl (PHP curl) One what is Curl Curl is a file transfer tool that works by using URL syntax in the command line mode. Curl is a way to take advantage of URL syntax on the command line ...

  • Related Article

    E-Commerce Solutions

    Leverage the same tools powering the Alibaba Ecosystem

    Learn more >

    Apsara Conference 2019

    The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

    Learn more >

    Alibaba Cloud Free Trial

    Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

    Learn more >

    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: and provide relevant evidence. A staff member will contact you within 5 working days.