Home >Backend Development >PHP Tutorial >In-depth understanding of the curl class, which can be used to simulate get, post and curl download_PHP tutorial

In-depth understanding of the curl class, which can be used to simulate get, post and curl download_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:07:221328browse

As shown below:

Copy the codeThe code is as follows:

class Curl {
/*
* Get method to obtain the specified address
* @param string url The address to be accessed
* @param string cookie The storage address of the cookie, if not, the cookie will not be sent
* @return string information obtained by curl_exec()
* @author andy
**/
public function get( $url, $cookie='' )
{
// Initialize one cURL session
$curl = curl_init($url);
// Do not display header information
curl_setopt($curl, CURLOPT_HEADER, 0);
// Convert the information obtained by curl_exec() to a file Return as a stream rather than output directly.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Use automatic jump
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
if(!empty($cookie)) {
// The name of the file containing cookie data. The format of the cookie file can be Netscape format, or just pure HTTP header information can be stored in the file.
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
}
// Automatically set Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
// Execute a curl session
$tmp = curl_exec($curl);
// Close curl session
curl_close($curl);
return $tmp;
}
/*
* Post mode simulation Request specified address
* @param string url Requested specified address
* @param array params Requested
* #patam string cookie cookie storage address
* @return string obtained by curl_exec() Information
* @author andy
**/
public function post( $url, $params, $cookie)
{
$curl = curl_init($url);
curl_setopt ($curl, CURLOPT_HEADER, 0);
// Check the source of the authentication certificate. 0 means preventing the check of the validity of the certificate.
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// Check whether the SSL encryption algorithm exists from the certificate
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
//Simulate the browsing used by the user The server includes a "user-agent" header string in the HTTP request.
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//Send a regular POST request of type: application/x-www-form-urlencoded, just like the form submission .
curl_setopt($curl, CURLOPT_POST, 1);
// Return the information obtained by curl_exec() in the form of a file stream instead of outputting it directly.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Use automatic jump
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// Automatically set Referer
curl_setopt($curl , CURLOPT_AUTOREFERER, 1);
// Cookie address
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
// All data is sent using the "POST" operation in the HTTP protocol. To send a file,
// prefix the file name with @ and use the full path. This parameter can be passed through the urlencoded string
// Similar to 'para1=val1¶2=val2&...' or use an array with the field name as the key value and the field data as the value
// If value is an array, the Content-Type header will be set to multipart/form-data.
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
/**
* Remote download
* @param string $remote remote image address
* @param string $local locally saved address
* @param string $cookie cookie address optional parameters are represented by
* Some websites require cookies to download images on the website
* So you need to add cookies
* @return void
* @author andy
*/
public function reutersload($remote, $local, $cookie= '') {
$cp = curl_init($remote);
$fp = fopen( $local,"w");
curl_setopt($cp, CURLOPT_FILE, $fp);
curl_setopt($cp, CURLOPT_HEADER, 0);
if($cookie != '') {
curl_setopt($cp, CURLOPT_COOKIEFILE, $cookie);
}
curl_exec($cp);
curl_close($cp);
fclose($fp);
}
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327550.htmlTechArticle is as follows: Copy the code as follows: ?php class Curl { /* * get method to obtain the specified address* @param string url The address to be accessed* @param string cookie The storage address of cookie...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn