rendered paste body<?class HttpRequest{ public static $REQUEST = array( 'Accept' => 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'Connection' => 'keep-alive', 'Keep-Alive' => 300, 'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept-Language' => 'en-us,en;q=0.5', 'Pragma' => '' ); public static $POST = array( 'Content-type' => 'application/x-www-form-urlencoded', 'Connection' => 'close' ); public static $USER_AGENT = 'Mozilla/4.0 (compatible; HttpRequest/PHPFresh/cUrl/PHP)'; protected $headers = array(); public function setHeaders($fields) { foreach ($fields as $key => $value) $this->headers[$key] = $value; } public function setHeader($key, $value) { $this->headers[$key] = $value; } public function post($url, $data, $username = null, $password = null) { return $this->request('POST', $url, $data, $username, $password); } public function get($url, $data, $username = null, $password = null) { return $this->request('GET', $url, null, $username, $password); } public function request($type, $url, $data = null, $username = null, $password = null) { $isPost = $type == 'POST'; $data = is_array($data) ? http_build_query($data) : $data; // Default Headers $headers = self::$HEADERS; // Post Headers if ($isPost) { foreach (self::$POST as $key => $value) $headers[$key] = $value; $headers['Content-length'] = strlen($data); } // Custom Headers foreach ($this->headers as $key => $value) $headers[$key] = $value; // Change headers to valid strings $page = substr($url, strpos($url, '//') + 2); $arrHeaders = array( "$type $page HTTP/1.0" ); // Convert to array-based headers foreach ($headers as $key => $value) $arrHeaders[] = "$key: $value"; // Set curl options $fields = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => 1, CURLOPT_TIMEOUT => 60, CURLOPT_HTTPHEADER => $arrHeaders, CURLOPT_USERAGENT => self::$USER_AGENT, CURLOPT_ENCODING => 'gzip,deflate' ); // Options for post only if ($isPost) { $fields[CURLOPT_POST] = 1; $fields[CURLOPT_POSTFIELDS] = $data; } // Execute return $this->execute($fields); } protected function execute($fields) { $ch = curl_init(); foreach ($fields as $key => $value) curl_setopt($ch, $key, $value); $data = curl_execute($ch); curl_close($ch); $this->headers = array(); return $data; }}?>