Страница 1 из 1

Как работать с прокси

Добавлено: 13 ноя 2008, 20:37
poikl
Как через проксю
$proxy ='11.11.11.11:80';
попасть на эту страничку ?
$browser->navigate("ya.ru");
$browser->wait(1);

Re: Как работать с прокси

Добавлено: 13 ноя 2008, 21:26
poikl
poikl писал(а):Как через проксю
$proxy ='11.11.11.11:80';
попасть на эту страничку ?
$browser->navigate("ya.ru");
$browser->wait(1);
нашел
echo $browser->enable_proxy("all connections","202.158.165.82:80");

Добавлено: 17 ноя 2008, 19:01
bigfozzy
ага, а

$browser->disable_proxy("all connections"); - отменяет прокси.
Еще при принудительной остановки скрипта идет сброс прокси ...

Добавлено: 15 апр 2009, 13:22
mastak
А соксы включить можно каким-нибудь образом?
Например:
$browser->enable_socks("all connections","202.158.165.82:80")

Добавлено: 15 апр 2009, 15:11
cathderay
если прокси требует авторизацию

Код: Выделить всё

$browser->set_default_authorization("юзер","пасс");

Добавлено: 28 апр 2009, 18:48
Andipas
Я пользую публичные прокси. Как во время выполнения скрипта можно отследить когда прокси умрет?

Добавлено: 30 апр 2009, 09:17
Andipas
Andipas писал(а):Я пользую публичные прокси. Как во время выполнения скрипта можно отследить когда прокси умрет?
Понял как это можно сделать, только вот теперь другой вопрос:
написал такую функцию:

Код: Выделить всё

require("E:/Program Files/Xedant/Human Emulator/Templates/xedant_human_emulator.php");

get_proxy();

function get_proxy()
{
	$proxy = file("proxy.txt");
	echo 'Ищем проксю<br>';
	for ($j=0;$j<count($proxy);$j++)
	{
		echo '-'.$j;
		// устанавливаем текущее прокси enable_proxy($connection,$proxy) - сделать прокси на заданное соединение
		$browser->enable_proxy("all connections",$proxy[$j]);
		// проверяем прокси на нужном нам урле и нужное нам время
		// если за 15 секунд мы не подключились к google прокси плохая
		$connect = $browser->check_connection("http://google.com",15);
		if($connect)
		{
			echo '<br>Нашли и установли хорошую проксю : '.$proxy[$j];
			break;
		}
		// если плохая прокся ищем дальше
		if(!$connect)
		{
			$browser->disable_proxy("all connections");
			continue;
		}
	}
}
После запуска, в поле "Отладка" выдает такую ошибку:

Код: Выделить всё

Ищем проксю
-0 Fatal error: Call to a member function enable_proxy() on a non-object in E:\Program Files\Xedant\Human Emulator\My Scripts\Temp\getproxy.php on line 14 
Если выношу код из функции в тело программы, все нормально работает. Почему так?

Добавлено: 30 апр 2009, 18:22
Support
наши объекты (в том числе и объект $browser из данного примера) глобальные объекты, для того что бы их можно было использовать в функциях нужно указать в теле фукции что объекты глобальные будет выглядеть так:

Код: Выделить всё

function get_proxy() 
{ 
   global $browser;
   $proxy = file("proxy.txt"); 
   echo 'Ищем проксю<br>'; 
   for ($j=0;$j<count($proxy);$j++) 
   { 
      echo '-'.$j; 
      // устанавливаем текущее прокси enable_proxy   ($connection,$proxy) - сделать прокси на заданное соединение 
      $browser->enable_proxy("all connections",$proxy[$j]); 
      // проверяем прокси на нужном нам урле и нужное нам время 
      // если за 15 секунд мы не подключились к google прокси плохая 
      $connect = $browser->check_connection("http://google.com",15); 
      if($connect) 
      { 
         echo '<br>Нашли и установли хорошую проксю : '.$proxy[$j]; 
         break; 
      } 
      // если плохая прокся ищем дальше 
      if(!$connect) 
      { 
         $browser->disable_proxy("all connections"); 
         continue; 
      } 
   } 
}

Добавлено: 08 май 2009, 23:12
aqf2009
mastak писал(а):А соксы включить можно каким-нибудь образом?
Например:
$browser->enable_socks("all connections","202.158.165.82:80")
Тоже очень интересует тема с соксами. :) Когда будет эта возможность реализована?

Добавлено: 10 июн 2009, 16:12
bigfozzy
соксыц сделаны - можно пользоваться )