ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[function.fsockopen]: unable to connect to
  #1  
Старый 03.01.2010, 07:56
Аватар для попугай
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию [function.fsockopen]: unable to connect to

Напейсал быдлоскрипт, который логинится на одном сайте, а затем в цикле - качает страницу, парсит ссылку на ней при помощи preg_match, качает её.

через некоторое время скрипт вылетает с такой ошибкой, что типа не может приконектится.

Скрипт запускается на VDSе (причем пробовал уже на трех - везде такая фигня), целевой сайт тормозить не может - он довольно крупный (соц сеть средней крупности).



Что делать? В чем может быть проблема? Как решить её?
 
Ответить с цитированием

  #2  
Старый 03.01.2010, 09:10
Аватар для xena-mil1
xena-mil1
Познающий
Регистрация: 17.10.2006
Сообщений: 83
Провел на форуме:
552846

Репутация: 55
По умолчанию

может целевой сайт блокирует от атак? (не просто тормозит а именно блокирует если подозревает что качает бот)
 
Ответить с цитированием

  #3  
Старый 03.01.2010, 14:44
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Античат - форум экстрасенсов.

Может выложишь скрипт, тебе тогда и помогут.
 
Ответить с цитированием

  #4  
Старый 14.01.2010, 00:54
Аватар для попугай
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию

Цитата:
Сообщение от xena-mil1  
может целевой сайт блокирует от атак? (не просто тормозит а именно блокирует если подозревает что качает бот)

Даже не знаю. Впринципе возможно такое. Но я вроде и реферрер шлю и куки и UserAgent нормальный.

Цитата:
Сообщение от Deathdreams  
Античат - форум экстрасенсов.

Может выложишь скрипт, тебе тогда и помогут.
index.php
PHP код:
<?php
set_time_limit
(0);
ini_set('memory_limit''256M');
error_reporting(E_ALL);
ini_set('display_errors'1);

include(
'getpost.php');

$uza 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)';
$acc 'login:parol';

$bot explode(':'$acc);
$login $bot[0];
$parol $bot[1];



 
##############          Авторизация      ########################
 
    
$authdata post('server.ru'"/script""http://google.ru/"$uza'''Login=' $login '&Password=' $parol); // запрос на авторизацию

    
$authcooki =    getcookie($authdata); //  получение куков

    

    
    
while(1){  // бесконечный цикл
        
        
$gett get('server.ru''/script_start_page''http://server.ru/'$uza$authcookitrue); // получение самой первой страницы парсинга
        
$startpage =  !isset($targetpage) ? $gett $targetpage;

            if(
preg_match('|регулярное выражение для поиска ссылки|'$startpage$link)){

            
            
$targetpage get('server.ru'$link[1], 'http://server.ru/'$uza$authcookitrue); // переход по нужной мне ссылке
            
unset($link);
    }
    
}
    
    
    

    
?>

getpost.php

PHP код:
<?php



    
function getlocation($str){
    
        
preg_match("%Location: (\S+)%i"$str$locat);
        
                
$url parse_url($locat[1]);
                
        return 
$url['path'] . '?' $url['query'];
    }
    


function 
get($host$path$ref$ua$cook$dwnld true)
{
    
$line="";
    
$fp=fsockopen($host80$errno$errstr10);
        if(!
$fp){
        die(
$errstr($errno));
        }else{
                
$headers "GET $path HTTP/1.1\r\n";
                
$headers .="Host: $host\r\n";
                
$headers .="User-Agent: $ua\r\n";
                
$headers .="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
                
$headers .="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
                
$headers .="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
                
$headers .="Referer: $ref\r\n";
                
$headers .="Cookie: $cook\r\n";
                
$headers .="Connection: Close\r\n\r\n";

                
                
fwrite($fp$headers);
                
                if(
$dwnld == true){
                    while(!
feof($fp)){
                            
                        
$line .= fgets($fp4096);
                    }
                }
        }        
                
fclose($fp);


    return 
$line;
}

function 
post($host$script$ref$ua$cook$cont){
$respons="";
$postsock fsockopen($host80$errno$errstr10);
if (!
$postsock) echo $errstr($errno);
else
{
$head "POST $script HTTP/1.1\r\n";
$head .= "Host: $host\r\n";
$head .= "User-Agent: $ua\r\n";
$head .= "Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
$head .= "Connection: close\r\n";
$head .= "Referer: $ref\r\n";
$head .= "Cookie: $cook\r\n";
$head .= "Content-Type: application/x-www-form-urlencoded\r\n";
$head .= "Content-Length: " .strlen($cont). "\r\n";
$head .= "\r\n$cont\r\n";
fwrite($postsock$head);
while(!
feof($postsock)){
$respons .= fgets($postsock4048);
}
fclose($postsock);
}
return 
$respons;
}


    function 
getcookie($str){
        
$authcooki '';
        
preg_match_all('/Set-Cookie:\s([^;]+)/i'$str$temp);
        
$temp[1] = array_unique($temp[1]);
        foreach(
$temp[1] as $cook){
        
$authcooki .= $cook '; ';
        }
        return 
$authcooki;
    }


?>
 
Ответить с цитированием

  #5  
Старый 14.01.2010, 15:56
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Скрипт выполняется на хостинге?
Попробуй простое подключение к гуглу,
PHP код:
if(fsockopen('google.ru'80)) {  echo 'good'; } else { echo 'bad'; } 
 
Ответить с цитированием

  #6  
Старый 14.01.2010, 17:56
Аватар для попугай
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию

Цитата:
Сообщение от Deathdreams  
Скрипт выполняется на хостинге?
Попробуй простое подключение к гуглу,
PHP код:
if(fsockopen('google.ru'80)) {  echo 'good'; } else { echo 'bad'; } 

Да естественно, коннект есть, все работает - читай первый пост. Проблема в том, что скрипт после нескольких десятков итераций глохнет с warning-ом.
 
Ответить с цитированием

  #7  
Старый 14.01.2010, 19:44
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

попугай Поставьте задержки при переходе на страницу. Скорее всего блочат по превышению количества запросов в минуту.

Ну или просто - не останавливайте скрипт по ошибке (заглушив ошибку с помощью @ и убрав die(); ), а повторяйте текущий запрос после задержкт
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #8  
Старый 16.05.2010, 10:49
Аватар для gr[e]y
gr[e]y
Новичок
Регистрация: 12.05.2010
Сообщений: 5
Провел на форуме:
4643

Репутация: 0
По умолчанию

ребята, у меня такая же ошибка возникла. причём это произошло после переноса обоих сайтов (и того на котором скрипт и того к которому скрипт подключается) на новый впс. в чём может быть проблема?
PHP код:
if(fsockopen('google.ru'80)) { echo 'good'; } else { echo 'bad'; } 
- возвращает good

PHP код:
if(fsockopen('mysite.ru'80)) { echo 'good'; } else { echo 'bad'; } 
- возвращает bad

Последний раз редактировалось gr[e]y; 16.05.2010 в 10:53..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Perl] Модуль Socket. Не правильно работает ф-я connect FunkyBoy PHP, PERL, MySQL, JavaScript 8 26.11.2009 07:50
php-fusion v6.00.306 помогите чайнику firemen Форумы 16 11.06.2006 14:55
MegaProxy LoFFi Анонимность 1 13.05.2006 22:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ