Marko: Nochmal Urls Checken mit Socketfunktion

Hi,

der letzte Thread ist schon unten rausgefallen (muss mal gucken, ob die dann irgendwo unterm Schreibtisch liegen:-)  ), also auf ein Neues. Ich hab die URL Check Funktion http://forum.de.selfhtml.org/archiv/2003/1/34843/#m189859 noch geringfügig erweitert, poste sie mal, vielleicht braucht das ja noch jemand irgendwann:

function checkURL( $pURL, $pVerbose=1 )
{
  $http_status = -1;
  $URL = parse_url( $pURL );
  if( $URL[path] == '' ){
    $URL[path] = '/';
  }
  if ($fp = fsockopen ($URL[host], 80, $errno, $errstr, 10))
  {
    socket_set_timeout( $fp, 10 );
    $query = "HEAD ".$URL[path]." HTTP/1.0\r\nHost:".$URL[host]."\r\n\r\n";
    print($query."<br>\n");
    fputs ($fp,$query);
    $response = trim(fgets($fp,128));
    $http_status = preg_replace("/HTTP/1.. /","",$response);
    $http_status = preg_replace("/ .*/","",$http_status);
    if( !$pVerbose ){
      do
         print($response."<br>\n");
      while($response = trim(fgets($fp,128)));
    }
  }
  else{
     print("Ungültige URL");
  }
  return $http_status;
}

Das läuft jetzt auch braucht halt seine Zeit, und mit vielen Links rennt der Webserver irgendwann in den Scripttimeout. Was haltet Ihr von der Idee das jetzt so umzuschreiben, das parallel z.B. 200 Sockets geöffnet werden, und 200 Links gleichzeitig gecheckt werden. Oder leg ich damit den Server zeitweise lahm, ich glaube die Anzahl der TCP Verbindungen ist ja beschränkt, oder ?

Gruss

Marko

  1. Hallo Marko,

    der letzte Thread ist schon unten rausgefallen (muss mal gucken, ob die dann irgendwo unterm Schreibtisch liegen:-)  ), also auf ein Neues. Ich hab die URL Check Funktion http://forum.de.selfhtml.org/archiv/2003/1/34843/#m189859 noch geringfügig erweitert, poste sie mal, vielleicht braucht das ja noch jemand irgendwann:

    ob die Funktion so sinnvoll ist, kann ich jetzt auf die Schnelle nicht beurteilen. Aber wenn sie sich als gut erweist, könntest du die Funktion hier verewigen, indem du einen Beitrag für die SELFHTML Tipps & Tricks schreibst (</tippstricks/>). Dort sind solche Codeschnipsel genau richtig aufgehoben.

    viele Grüße
      Achim Schrepfer

    --
    »Wenn die meisten sich schon armseliger Kleider und Möbel schämen, wieviel mehr sollten wir uns da erst armseliger Ideen und Weltanschauungen schämen.« - Albert Einstein
    1. Sorry,

      Der Link heisst natürlich http://aktuell.de.selfhtml.org/tippstricks/index.htm.

      viele Grüße
        Achim Schrepfer

      --
      »Wenn die meisten sich schon armseliger Kleider und Möbel schämen, wieviel mehr sollten wir uns da erst armseliger Ideen und Weltanschauungen schämen.« - Albert Einstein