Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Kuchuk                         2:5030/1272.54 24 Nov 2001  21:00:26
 To : All
 Subject : http
 -------------------------------------------------------------------------------- 
 
 
 Hарод! Заранее извиняюсь за глупый вопрос, но как из строчки можно вырезать
 подстроку типа - 'http://'
 
 Также появилась проблема проверки мёртвой ссылки, попытался решить таким образом
 :
 $PF_INET = 2;
 $AF_INET = 2;
 $SOCK_STREAM = 1;
 $IPPROTO_TCP = 6;
 $sockaddr_in = 'S n a4 x8';
 
 ###########################
 sub httpget
 {
     local ($remote,$doc)=@_;
     local ($header,$body,$line,$isbody);
     local $port=80;
     local($thisaddr,$thataddr);
     local($this,$that);
     local($proto,$hostname);
     ($thisaddr) = (gethostbyname($hostname))[4];
     ($thataddr) = (gethostbyname($remote))[4];
     $this = pack($sockaddr_in, $PF_INET, 0, $thisaddr);
     $that = pack($sockaddr_in, $PF_INET, $port, $thataddr);
     socket(SOCK, $PF_INET,$SOCK_STREAM,$IPPROTO_TCP)||return ();
     bind(SOCK,$this)||return ();
     connect(SOCK,$that)||return ();
     select(SOCK);$|=1;select(STDOUT);
     print SOCK "GET $doc HTTP/1.1\n\n";
     print SOCK "Host: $remote\n";
     print SOCK "\n";
     while(defined($line=<SOCK>)){
         if($isbody){$body.=$line;}
         else{
             if($line=~/^$/){$isbody=1;}
             else{$header.=$line;}
             }
         }
     close (SOCK);
     return ($header,$body);
 }
 sub Is_Url_Good
 {
     local($URL)=@_;
     local($remotehost,$doc);
     local($code,$codetext);
     ($remotehost,$doc)=($URL=~/http:\/\/([^\/]+)(.*)/);
     unless($doc){$doc="/";}
     ($header,$body)=httpget($remotehost,$doc);
     unless($header){return 0;}
     ($code,$codetext)=($header=~/^HTTP\S+\s+(\d+)\s+(.*)/);
     if($code!=404){return 0;}
     return 1;
 }
 
 но ответ приходит 0 на любые ссылки, что мертвые, что живые.
 
 Спасибо за внимание.
 
 Maxim
 
 --- Mike was man...  :: mike@fromru.com :: http://allspb.al.ru
  * Origin: simple Mike (2:5030/1272.54)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 http   Maxim Kuchuk   24 Nov 2001 21:00:26 
 Re: http   Artem Chuprina   25 Nov 2001 14:22:30 
Архивное /ru.perl/189403bffd401.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional