Using the PHP Curl Library, you can easily and effectively grab pages. You just need to run a script, then analyze the page you crawled, and then you can get the data you want in a program. Whether you want to take part of the data from a link, or take an XML file and import it into the database, the fear is simply to get the Web content, CURL is a powerful PHP library.
Curl Libraries in PHP (Client URL library function)
The
copy Code code is as follows:
Curl_close-close a Curl session
curl_copy_handle-Copy all 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-performing a curl session
Curl_getinfo- Gets the information for a Curl connection resource handle
curl_init-Initializes a curl session
Curl_multi_add_handle-adds a separate curl handle resource to the 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 associated 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 the Curl batch handle resource
Curl_multi_select-get all the sockets associated with the curl extension, which can and be "selected"
Curl_setop t_array-set session parameters for a curl as an array
curl_setopt-set session parameters for a Curl
curl_version-get Curl related version information
Curl_init () Function Initializes a curl session, the only parameter of the Curl_init () function is optional and represents 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.
Example one: basic example
Copy the Code code as follows:
﹤?php
Initialize a CURL object
$curl = Curl_init ();
Set the URL you need to crawl
curl_setopt ($curl, Curlopt_url, ' http://www.cmx8.cn ');
Set Header
curl_setopt ($curl, Curlopt_header, 1);
Sets the curl parameter, which requires the result to be saved to a string or output to the screen.
curl_setopt ($curl, Curlopt_returntransfer, 1);
Run Curl, request a Web page
$data = curl_exec ($curl);
Close URL Request
Curl_close ($curl);
Show the data obtained
Var_dump ($data);
?>
Example two: Post data
sendsms.php, which can accept two form fields, one is the phone number, and the other is the text message content.
Copy the Code code as follows:
﹤?php
$phoneNumber = ' 13812345678 ';
$message = ' This message is generated by curl and PHP ';
$curlPost = ' pnumber= '. UrlEncode ($phoneNumber). ' &message= '. UrlEncode ($message). ' &submit=send ';
$ch = Curl_init ();
curl_setopt ($ch, Curlopt_url, ' http://www.lxvoip.com/sendSMS.php ');
curl_setopt ($ch, Curlopt_header, 1);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_post, 1);
curl_setopt ($ch, Curlopt_postfields, $curlPost);
$data = Curl_exec ();
Curl_close ($ch);
? ﹥
Example three: Using a proxy server
Copy the Code code as follows:
﹤?php
$ch = Curl_init ();
curl_setopt ($ch, Curlopt_url, ' http://www.cmx8.cn ');
curl_setopt ($ch, Curlopt_header, 1);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_httpproxytunnel, 1);
curl_setopt ($ch, Curlopt_proxy, ' proxy.lxvoip.com:1080 ');
curl_setopt ($ch, curlopt_proxyuserpwd, ' User:password ');
$data = Curl_exec ();
Curl_close ($ch);
? ﹥
Example FOUR: Analog login
Curl Simulation Login Discuz program, suitable for DZ7.0, will username changed to your user name, Userpass changed to your password on it.
Copy CodeThe code is as follows:
<?php
/**
* Curl Emulation Login Discuz Program
* The forum login function that has not been implemented to enable verification code
*/
!extension_loaded (' curl ') && die (' The curl extension are not loaded. ');
$discuz _url = ' http://www.lxvoip.com ';//Forum Address
$login _url = $discuz _url. ' /logging.php?action=login ';//Login page address
$get _url = $discuz _url. ' /my.php?item=threads '; My posts
$post _fields = Array ();
The following two items do not need to be modified
$post _fields[' loginfield '] = ' username ';
$post _fields[' loginsubmit ') = ' true ';
User name and password must be filled in
$post _fields[' username '] = ' lxvoip ';
$post _fields[' password '] = ' 88888888 ';
Safety questions
$post _fields[' QuestionID '] = 0;
$post _fields[' answer '] = ';
@todo Verification Code
$post _fields[' seccodeverify '] = ';
Get Form Formhash
$ch = Curl_init ($login _url);
curl_setopt ($ch, Curlopt_header, 0);
curl_setopt ($ch, Curlopt_returntransfer, 1);
$contents = curl_exec ($ch);
Curl_close ($ch);
Preg_match ('/ /I ', $contents, $matches);
if (!empty ($matches)) {
$formhash = $matches [1];
} else {
Die (' not found the Forumhash. ');
}
Post data, obtaining cookies
$cookie _file = dirname (__file__). '/cookie.txt ';
$cookie _file = Tempnam ('/tmp ');
$ch = Curl_init ($login _url);
curl_setopt ($ch, Curlopt_header, 0);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_post, 1);
curl_setopt ($ch, Curlopt_postfields, $post _fields);
curl_setopt ($ch, Curlopt_cookiejar, $cookie _file);
Curl_exec ($ch);
Curl_close ($ch);
Take the cookie above to get the page content you need to log in to see
$ch = Curl_init ($get _url);
curl_setopt ($ch, Curlopt_header, 0);
curl_setopt ($ch, Curlopt_returntransfer, 0);
curl_setopt ($ch, Curlopt_cookiefile, $cookie _file);
$contents = curl_exec ($ch);
Curl_close ($ch);
Var_dump ($contents);
?>
The above is the whole content of this article, I hope you can enjoy.