DSL-Check ob DSL für einen Anschluss verfügbar ist - WIE?

dwex

Erfahrenes Mitglied
Hallo Leute,

ich würde gerne auf meiner Website einen sog. DSL-Check anbieten - wie es bei den grossen Providern welche DSL anbieten üblich ist.

Das einzige was ich weiss ist das die alle die gleiche Datenbank abfragen.

Was ich nicht weiss - wo finde ich diese Datenbank und wie kann ich die dann auch abfragen?

Kann mir da jemand einen Tipp geben?

Vielen Dank im voraus!
 
Ich denke mal, dass man diese Datenbank kaufen muss. Oder es gibt einen XML Feed, aber auf den wird man wahrscheinlich auch nicht so einfach Zugriff haben können.

Nur Vermutungen.
 
Hallo nochmal,

mir ist gerade ein Lösungsansatz eingefallen - ich weiss aber nicht wie ich das ganze verwirklichen soll.
Ich habe mal ein Script für Whois-Abfragen gesehen (ich weiss nicht mehr welches es war). In diesem Script wurde offensichtlich eine externe Ergebnisseite abgefrage und nach Inhalten durchsucht (z.B. no match for - oder so).
Dann wurde eine Bedingung eben auf False oder True gestellt - und eben dann ausgegeben - Verfügbar oder nicht Verfügbar.

Könnte man das Ganze auch hier so machen und wenn Ja - wie?

Ich habe festgestellt, dass ich die Telekomdaten über die folgende URL abfragen kann:
http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000
$onkz = die Vorwahl
$rufnr = die Rufnummer

Hier kommt dann eine Ergebnisseite mit "Verfügbar" oder "nicht Verfügbar"

Ich wäre für ein paar Codeschnippsel SEHR dankbar :-)
 
Zuletzt bearbeitet:
Es gibt zwar bessere Möglichkeiten und auch professionellere, aber ich habs nur mal schnell eingetippt. Verbessern kannst du es ja noch selbst.

PHP:
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=vorwahl&rufnr=nummer', 'r');
while (fgets(trim($handle)) != '<span class="bold">T-DSL ist f&uuml;r Sie verf&uuml;gbar!</span><br>')
{ 
	$buffer = trim(fgets($handle));
}

Dann kannst du noch prüfen ob $buffer == <span class="bold">T-DSL ist f&uuml;r Sie verf&uuml;gbar!</span><br> ist. Wenn ja dann ist es verfügbar. Wenn nicht, dann halt nicht.
 
Hallo,

irgendwie habe ich das Gefühl, dass ich zu blöde für das ganze bin.

Wenn ich deinen Code einfach mal so übernehme und eine Vorwahl und eine Rufnummer eintrage und das Script dann starte - dann passiert nichts ausser das er sagt "Website gefunden - warte auf antwort".

Wenn ich das Script um eine if-Abfrage erweitere sieht das dann so aus (Bitte nicht vom Stuhl fallen - ich bin doch noch Anfänger):
PHP:
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r');
while (fgets(trim($handle)) != 'T-DSL ist f&uuml;r Sie verf&uuml;gbar!')
{ 
    $buffer = trim(fgets($handle));
} 

if $buffer = "T-DSL ist f&uuml;r Sie verf&uuml;gbar!" {
	echo = "ist verfügbar";
} else {
	echo "ist nicht verfügbar";
}

Auch hier komme ich wieder in meine "Endlos"-Schleife.

Hilfe !

Ausserdem würde mich interessieren was du mit besseren bzw. professionelleren Lösungen meinst.
 
PHP:
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r');
$buffer = trim(fgets($handle));

if($buffer == "T-DSL ist für Sie verfügbar!") {
    echo = "ist verfügbar";
} 

else {
    echo "ist nicht verfügbar";
}

Versuchs mal damit.
Besser wärs wenn du $buffer mit [phpf]preg_match[/phpf] auf "T-DSL ist für Sie verfügbar!" überprüfst, weil ich glaube nicht, dass $buffer nur aus diesem Satz besteht.

greetz
daddz
 
Hallo,

irgendwie habe ich ein Verständnissproblem - aber ich bin ja noch ganz am Anfang - vielleicht wirds ja noch :-)

Also wenn ich nun den folgenden Quelltext in meine PHP-Datei schreibe:
PHP:
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r'); 
$buffer = trim(fgets($handle)); 

if($buffer == "T-DSL ist für Sie verfügbar!") { 
    echo  "ist verfügbar"; 
} 

else { 
    echo "ist nicht verfügbar"; 
}
dann bekomme ich immer "ist nicht verfügbar" ausgeworfen.
ich habe auch schon versucht in der if-Abfrage die "ü" durch die HTML-Sonderzeichen &uuml; auszutauschen - auch das hat leider nichts geholfen.

Wenn ich nun folgendes in das Script schreibe (bitte auch hier wieder nicht vom Stuhl fallen):
PHP:
<?php
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r'); 
$buffer = trim(fgets($handle));
$suche = 'T-DSL ist f&uuml;r Sie verf&uuml;gbar!';

$buffer1 = preg_match($suche, $buffer);

if($buffer1 == "T-DSL ist f&uuml;r Sie verf&uuml;gbar!") { 
    echo  "ist verfügbar"; 
} 

else { 
    echo "ist nicht verfügbar"; 
} 
?>
dann bekomme ich folgende Ausgabe auf dem Bildschirm:
Code:
Warning: preg_match(): Delimiter must not be alphanumeric or backslash in D:\xampp\xampp\htdocs\intranet\dsl-check-test.php on line 6
ist nicht verfügbar

Was mache ich denn nur falsch?
 
Du solltest dir mal anschauen wie ein [phpf]preg_match[/phpf]-Suchmuster auszusehen hat.
Wenn du das hinbekommst sollte es eigentlich funktionieren!

greetz
daddz
 
Hallo,

vielen Dank - da hab ich wohl übersehen das ich / noch einfügen muss.

ABER!

Ich habe das jetzt so gemacht und nun folgenden Code:
PHP:
<?php


$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r'); 
$buffer = trim(fgets($handle));
$suche = '/T-DSL ist f&uuml;r Sie verf&uuml;gbar!/';

$buffer1 = preg_match($suche, $buffer);

if($buffer1 == "T-DSL ist f&uuml;r Sie verf&uuml;gbar!") { 
    echo  "ist verfügbar"; 
} 

else { 
    echo "ist nicht verfügbar"; 
} 


?>
Jetzt habe ich aber das Problem das er mir IMMER "ist verfügbar" ausgibt.
Wo liegt denn nun mein Fehler - ich bin am verzweifeln!
 
PHP:
<?php
$handle = fopen('http://eki-pi.t-com.de/verfuegbarkeit/?action=docheck&onkz=000&rufnr=000', 'r');
$buffer = trim(fgets($handle));
$suche = '/T-DSL ist f&uuml;r Sie verf&uuml;gbar!/';

if(preg_match($suche, $buffer) {
     echo  "ist verfügbar";
}
else {
     echo "ist nicht verfügbar";
}
?>
So sollte es eigentlich gehn.
[phpf]preg_match[/phpf] liefert nämlich nur 0 oder 1 zurück und keinen String!

greetz
daddz
 
Zurück