Home > Backend Development > PHP Tutorial > curl class, can be used to simulate get, post and curl download_PHP tutorial

curl class, can be used to simulate get, post and curl download_PHP tutorial

WBOY
Release: 2016-07-14 10:10:52
Original
917 people have browsed it

[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 the cookie. If there is no cookie, the cookie will not be sent
* @return string information obtained by curl_exec()
* @author andy
​ **/
Public function get( $url, $cookie='' )
{
// Initialize a cURL session
          $curl = curl_init($url);
               // Do not display header information
curl_setopt($curl, CURLOPT_HEADER, 0);
//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);
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 is 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 method simulates requesting a specified address
* @param string url The requested specified address
* @param array params
carried by the request * #patam string cookie cookie storage address
* @return string information obtained by curl_exec()
* @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 to prevent 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 browser used by the user and include 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 as a urlencoded string
// Similar to 'para1=val1¶2=val2&...' or use an array with the field name as the key 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);
}  

}

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 there is no cookie, the cookie will not be sent
* @return string information obtained by curl_exec()
* @author andy
**/
public function get( $url, $cookie='' )
{
//Initialize a cURL session
$curl = curl_init($url);
//Do not display header information
curl_setopt($curl, CURLOPT_HEADER, 0);
//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);
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 method simulates requesting the specified address
* @param string url The specified address requested
* @param array params
carried by the request * #patam string cookie cookie storage address
* @return string information obtained by curl_exec()
* @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 browser used by the user and include 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/477445.htmlTechArticle[php] ?php class Curl { /* * get method to get the specified address to access* @param string url to access Address * @param string cookie storage address of cookie, if not, cookie will not be sent * @retu...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template