<? class cURL { var $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)"; var $proxy_ip = ""; var $proxy_port = 0; var $proxy_url = ""; var $proxy_type = ""; var $status = 0; var $error = ""; var $timeout = 30; var $cookies = ""; var $last_url = ""; var $fix_cookies = false; function __construct($cookies) { if (!$cookies) $cookies = tempnam("./", "CURLCOOKIE"); $this->cookies = $cookies; } function open($url,$post="") { $ch = curl_init(); if ($this->proxy_url != "") $url = str_replace("%s", str_replace("http://","",$url), $this->proxy_url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); if ($post != "") { curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent); curl_setopt($ch,CURLOPT_TIMEOUT, $this->timeout); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_REFERER, $this->last_url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //if ($this->last_url == "") curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookies); curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookies); if ($this->proxy_ip != "") { curl_setopt($ch, CURLOPT_PROXYPORT, $this->proxy_port); curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP'); curl_setopt($ch, CURLOPT_PROXY, $this->proxy_ip); if ($this->proxy_type == "socks") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); } $data = curl_exec($ch); $this->status = curl_getinfo($ch,CURLINFO_HTTP_CODE); $this->error = curl_error($ch); $this->last_url = $url; curl_close($ch); return $data; } }