WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 22.06.2004, 10:26   #1
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard [php] broken link

gibt es so ne art abfrage ob eine url vorhanden ist mit dem ganzen pfad? so eine broken link funktion
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 22.06.2004, 10:28   #2
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von mqs
gibt es so ne art abfrage ob eine url vorhanden ist mit dem ganzen pfad? so eine broken link funktion
Ohne jetzt genau sagen zu können wie das funktioniert (in PHP) - aber du musst nur den zurück gegebenen HTTP Response Code abfragen - ist er 200 ist alles OK, kommt was anderes zurück (404, 500, ...) is die Seite nicht erreichbar.
renew ist offline   Mit Zitat antworten
Alt 22.06.2004, 10:42   #3
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

hast du zufällig einen codeschnipsel bei dir rumliegen?
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 22.06.2004, 12:06   #4
Karl99
Veteran
 
Registriert seit: 05.06.2003
Beiträge: 444


Standard

PING funktioniert nicht?

PING www.wcm.at
PING <IP-Adresse>
Karl99 ist offline   Mit Zitat antworten
Alt 22.06.2004, 12:27   #5
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von mqs
hast du zufällig einen codeschnipsel bei dir rumliegen?
Irgendwo hätt ich ein Perl Script... (weil ich mir das ganze mal in Perl zusammengebastelt hab, welches über ASP aufgerufen wird, da das ganze in ASP nicht funktioniert hat - bzw. ich keine Lösung dafür gefunden habe)

Wennst willst such ich es dir am Abend, wenn ich daheim bin, raus.
Denn von PHP hab ich nicht wirklich viel Ahnung, da ich schon Ewigkeiten nix mehr in PHP gemacht hab (und das was ich gemacht hab, war auch nicht aufregend )
renew ist offline   Mit Zitat antworten
Alt 22.06.2004, 12:33   #6
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Aja, hab grad die alten Beiträge von mir ausgegraben, wo es um das ganze ging - vielleicht findest ja was brauchbares:

http://www.wcm.at/forum/showthread.php?threadid=75489

http://www.wcm.at/forum/showthread.php?threadid=74761
renew ist offline   Mit Zitat antworten
Alt 22.06.2004, 12:45   #7
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

danke! werd mich mal einlesen
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 22.06.2004, 12:49   #8
eAnic
Inventar
 
Benutzerbild von eAnic
 
Registriert seit: 23.01.2000
Alter: 46
Beiträge: 2.135


eAnic eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Karl99
PING funktioniert nicht?

PING www.wcm.at
PING <IP-Adresse>
Wie soll das unter PHP funktionieren?
____________________________________
... back in business
eAnic ist offline   Mit Zitat antworten
Alt 22.06.2004, 14:56   #9
mqs
Master
 
Registriert seit: 08.05.2001
Alter: 43
Beiträge: 533


mqs eine Nachricht über ICQ schicken
Standard

hab eine funktion gefunden, die das ausführt. also wenn die url vorhanden ist wird eine "1" zurückgeschickt. ich poste die mal her falls sie noch wer braucht:


PHP-Code:
   /*
   * @return boolean
   * @param  string $link
   * @desc  Überprüft die angegeben URL auf Erreichbarkeit (HTTP-Code: 200)
   */
   
function url_validate$link )
   {        
       
$url_parts = @parse_url$link );

       if ( empty( 
$url_parts["host"] ) ) return( false );

       if ( !empty( 
$url_parts["path"] ) )
       {
           
$documentpath $url_parts["path"];
       }
       else
       {
           
$documentpath "/";
       }

       if ( !empty( 
$url_parts["query"] ) )
       {
           
$documentpath .= "?" $url_parts["query"];
       }

       
$host $url_parts["host"];
       
$port $url_parts["port"];
       
// Now (HTTP-)GET $documentpath at $host";

       
if (empty( $port ) ) $port "80";
       
$socket = @fsockopen$host$port$errno$errstr30 );
       if (!
$socket)
       {
           return(
false);
       }
       else
       {
           
fwrite ($socket"HEAD ".$documentpath." HTTP/1.0\r\nHost: $host\r\n\r\n");
           
$http_response fgets$socket22 );
           
           if ( 
ereg("200 OK"$http_response$regs ) )
           {
               return(
true);
               
fclose$socket );
           } else
           {
//                echo "HTTP-Response: $http_response
";
               return(false);
           }
       }
   } 
____________________________________
http://www.schmausen.at
Dein Infoportal für Mittagsmenüs in Klagenfurt
mqs ist offline   Mit Zitat antworten
Alt 22.06.2004, 15:09   #10
JamesDean2
Veteran
 
Registriert seit: 04.08.2001
Alter: 54
Beiträge: 273


Standard

Sollte mit einer Webseite auch funktionieren.
Läuft allerdings so nur unter Linux.
Bei einem Windows System müsst ma schaun was ping für Meldungen retour liefert und das Script anpassen.
Auf port.php und offline & onlineeintragen kann ja in deinem Fall verzichtet werden.
Du suchst ja nach keinen Ports oder willst dein Ergebnis nicht auch gleich in eine Datenbank schreiben.

<?php
$online=exec("ping $ip -c 1");
if (eregi("100% packet loss", $online) || eregi("0 packets received", $online)) {
print "<tr><td bgcolor='#FFFF99' bordercolor='#FF0000'><font size='-7' face='Arial'>$name</font></td>";
print "<td bgcolor='#FFFF99' bordercolor='#FF0000'>";
print "[img]perlred2.gif[/img]";
print "<font color='#FF0000' font size='-7' face='Arial'> $ip</font></td>";
if ($port <> "") {
require("port.php");
$port = "";
}
print "</tr>";
require("offlineeintragen.php");
} else {
print "<tr><td bgcolor='#FFFF99'><font size='-7' face='Arial'>$name</font></td>";
print "<td bgcolor='#FFFF99'>";
print "[img]perlgree2.gif[/img]";
print "<font color='#009900' font size='-7' face='Arial'> $ip</font></td>";
if ($port <> "") {
require("port.php");
$port = "";
}
print "</tr>";
require("onlineeintragen.php");
}
?>
JamesDean2 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:35 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag