Есть class, как передать данные в него?

Innocent

Новичок
Добрый вечер.
Да, название темы звучит глупо.
Но, есть достаточно сложный в моем понимании класс, который работает с куками, забирает страницу и т.п.
Выглядит так:
PHP:
<?php

final class HTTP_GET
{
	static private $proxy_state = false;
	static private $ssl_state = false;
	static private $add_header = array();
	
	static public function enableProxy()
	{
		self::$proxy_state = true;
	}
	
	static public function disableProxy()
	{
		self::$proxy_state = false;
	}
	
	static public function enableSSL()
	{
		self::$ssl_state = true;
	}
	
	static public function disableSSL()
	{
		self::$ssl_state = false;
	}
	
	static public function request( $url )
	{
		$ch = curl_init( $url );
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   							// возвращает веб-страницу
		curl_setopt($ch, CURLOPT_HEADER, 1);           							// возвращает заголовки
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   							// переходит по редиректам
		curl_setopt($ch, CURLOPT_ENCODING, "");        							// обрабатывает все кодировки
		curl_setopt($ch, CURLOPT_USERAGENT, UserAgent::rand());					// useragent
		curl_setopt($ch, CURLOPT_REFERER, Referer::rand());  					// ref
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); 							// таймаут соединения
		curl_setopt($ch, CURLOPT_TIMEOUT, 20);        							// таймаут ответа
		curl_setopt($ch, CURLOPT_MAXREDIRS, 10);       							// останавливаться после 10-ого редиректа
		curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
		curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
		if(!empty(self::$add_header))
		{
			curl_setopt($ch, CURLOPT_HTTPHEADER, array(
														'Accept-Language: en-us,en;q=0.7,de-de;q=0.3',
														'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
														'X-Forwarded-For: '.rand(80,224).".".rand(80,224).".".rand(80,224).".".rand(80,224),
														));
		}
		if(self::$ssl_state == true)
		{
			curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
			curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
			
			#curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
			#curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,1);
			//curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__)."/ca.cer");
			
			//curl_setopt($ch,CURLOPT_SSLCERT,"$cert");
			//curl_setopt($ch,CURLOPT_SSLCERTPASSWD,"$cert_pass");
		}
		if(self::$proxy_state)
		{
			curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
			curl_setopt($ch, CURLOPT_PROXY, $proxy);
		}
		
		$content = curl_exec( $ch );
		
		$err     = curl_errno( $ch );
		$errmsg  = curl_error( $ch );
		$return  = curl_getinfo( $ch );
		curl_close( $ch );

		$return['errno']   = $err;
		$return['errmsg']  = $errmsg;
		
		$content = explode("\r\n\r\n", $content);
		
		//...
		//var_dump($content);
		
		$return['header'] = trim(array_shift($content));
		$return['content'] = trim(implode('', $content));
		
		return $return;
	}
}

?>
Вопрос: как мне передать в него адрес прокси? (чтобы курл работал через множество прокси).
Прошу прощение за сумбурную постановку задачи.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Проблема в том, что это код для парсинга чего-то, а тут такой не любят, но параметр ты можешь передать через дополнительный аргумент функции request()
 
Сверху