PHP curl
When I first came into contact with curl, I looked at the documentation and searched for various information online. The official explanation (http://cn2.php.net/manual/en/intro.curl.php) was that this was a big A libcurl library written by Niu, PHP supports this extension library, allowing us to access various servers through various protocols (http, https, ftp, telnet, file...), supporting post, put, ftp or based on Form file upload supports cookies, proxies, etc.
It seems that I still don’t understand it. I think the simplest explanation is that curl is a tool set, supported by the libcurl extension library, including some functions. Using these functions, we can simulate us to access certain addresses, that is, we Manually enter http://www.baidu.com in the browser address bar to access Baidu. Curl can replace this manual operation and implement this process in the form of a program. The result of this operation and process is The browser gives us a homepage of Baidu search.
Since curl is a tool set, there are many functions to call. You can imagine that entering the URL in the address bar (may take some parameters), when you click Enter after entering, it is equivalent to calling certain functions. , these functions are written in the script on one or several Baidu servers. After the function is run, there will be some effect, such as returning a value, or not returning a value, or printing something. Here is a The page is given to you, and curl can achieve many more functions than simply displaying a page. These different functions are implemented through the curl_setopt function. For example, when connecting to the SDK, others provide an API in the form of an access address. At this time, curl comes into play.
1.get implementation
Copy code
$url = 'http://www.somesite.com';
$data = array('username'=>'Peter', 'password'=>12345);
function get($url, $data = array()){
$ch = curl_init(); // Initialize a curl resource type variable
/*Set access options*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // When enabled, the Location: returned by the server will be placed in the header and returned to the server recursively
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); // Return the obtained data instead of outputting it directly on the page
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP); // Set the protocol type used for the access address to HTTP
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // The access timeout is limited to 15s
$url = url.'?'.http_build_query($data);
curl_setopt($ch, CURLOPT_URL, $url); // Set the URL to be accessed
$result = curl_exec($ch); // Execute this access and return a result
// ... ...
return $result;
}
// $result = get(%url, $data); // Call
Copy code
2.post implementation
Copy code
function post($url, $data = array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true); // Set to post delivery form
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // Set the data passed by post
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Set the data to be returned in the form of a file stream
curl_setopt($ch, CURLOPT_USERAGENT, ''); // Leave the user agent blank
curl_setopt($ch, CURLOPT_HEADER, false); //Set not to display header information
$result = curl_exec($ch);
$info = curl_getinfo($ch); // Get information related to the resource accessed this time
return $result;
}
http://www.bkjia.com/PHPjc/900028.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/900028.htmlTechArticlePHP curl When I first came into contact with curl, I read the documentation and searched for various information online. Official (http://cn2.php.net/manual/en/intro.curl.php) The explanation is that this is a book written by a certain expert...