Mailinglisten-Archive |
nabend ML
ich habe eine kleine funktion geschrieben um zu testen ob eine url auch
wirklich existiert...
--- snip ---
function check_url()
{
$parsed_url = parse_url($this->string);
$host = $parsed_url[host];
$path = $parsed_url[path];
$connection = _(at)_fsockopen($host , 80);
if ($connection)
{
if ($path != "" && $path != "/")
{
fputs($connection , "GET $path HTTP/1.0\n\n");
$http_result = trim(fgets($connection , 128));
if (strstr($http_result , "200")) $result = true;
else if (strstr($http_result , "302")) $result = true;
else
{
$result = false;
$this->error = "connection to host succeeded but the path was not
found. server returned: '$http_result'";
}
fclose($connection);
}
else $result = true;
}
else
{
$result = false;
$this->error = "connection to host failed";
}
return $result;
}
--- snap ---
das problem das ich nun habe ist folgendes:
- manche server wie microsoft.com liefern mir eine 404er zurück, OBWOHL
das dokument exisitert...
- andere server hingegen wie onlinekosten.de liefern eine 200er OBWOHL
das dokoument NICHT
existiert weil die diese 404er-error-tracking aktiviert haben...
mein link-validierer von homesite erkennt, dass die microsoft.com-url
stimmt,
doch scheitert auch dieser an dem onlinekosten.de server..
meine frage ist nun, wie ich _wenigstens_ hinbekomme einen richtigen
http-status
von servern wie microsoft.com zu bekommen, denn ein false return kann
die ganze daten-verarbeitung des script unterbrechen...
wenn dokumente wie onlinekosten.de zugelassen werden, ist mir dies
eigentlich schnurz-piepe....
wäre auch hocherfreut, wenn einer meine funktion verbessern kann
vielen dank im voraus
kai
--
E-Mail: kaimeder_(at)_gmx.de or abraXXXas_(at)_fraggers.de
ICQ: 30408093
Tel: 05241-460046
Mobile: 0179-3681253
php::bar PHP Wiki - Listenarchive