|-转 网上之前找的封装php curl的类,小巧且实用,用了挺久
网上之前找的封装php curl的类,小巧且实用,用了挺久,比直接用php自带的curl要好很多,已经处理了一些问题,包括模拟浏览器等等。原文出处已经忘记了。 20200406
class cURL {
var $headers;
var $user_agent;
var $compression;
var $cookie_file;
var $proxy;
/**
* 初始化
*
* @param string $cookies
* @param string $cookie
* @param string $compression
* @param string $proxy
*/
function cURL($cookies = TRUE, $cookie = 'cookies.txt', $compression = 'gzip', $proxy = '') {
$this->headers [] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
$this->headers [] = 'Connection: Keep-Alive';
$this->headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
$this->user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
$this->compression = $compression;
$this->proxy = $proxy;
$this->cookies = $cookies;
if ($this->cookies == TRUE)
$this->cookie ( $cookie );
}
/**
* 配置cookie
*
* @param unknown $cookie_file
*/
function cookie($cookie_file) {
if (file_exists ( $cookie_file )) {
$this->cookie_file = $cookie_file;
} else {
fopen ( $cookie_file, 'w' ) or $this->error ( 'The cookie file could not be opened. Make sure this directory has the correct permissions' );
$this->cookie_file = $cookie_file;
fclose ( $this->cookie_file );
}
}
/**
* get方式打开页面
*
* @param unknown $url
* @return mixed
*/
function get($url) {
$process = curl_init ( $url );
curl_setopt ( $process, CURLOPT_HTTPHEADER, $this->headers );
curl_setopt ( $process, CURLOPT_HEADER, 0 );
curl_setopt ( $process, CURLOPT_USERAGENT, $this->user_agent );
if ($this->cookies == TRUE)
curl_setopt ( $process, CURLOPT_COOKIEFILE, $this->cookie_file );
if ($this->cookies == TRUE)
curl_setopt ( $process, CURLOPT_COOKIEJAR, $this->cookie_file );...