Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odpytywanie bazy danych whois
Forum PHP.pl > Forum > PHP
tomahawk
Witam!

Chciałem napisać skrypt do odpytywania bazy danych whois przez port 43.

Znalazłem takie coś na forum:
  1. <?php
  2. $fp = fsockopen('whois.dns.pl', 43);
  3. fputs($fp, "domena.pl");
  4. while (!feof($fp))
  5. print fgets($fp);
  6. fclose($fp);
  7. ?>


Ale ustrojstwo nie chce działać.
Wyświetla mi:
% Timeout... Closing connection.

Wiecie w czym problem?
marcio
Jak dobrze pamietam sockety maja jeszce 2-3 opcjonalne parametry dodaj je i wyswietl co ci zwraca fsockopen().
A jak nie to moze wina naglowkow nie wysylasz zadnego..
tomahawk
No mam teraz tak:
$fp = fsockopen('whois.dns.pl', 43, $errno, $errstr, 20);

I jest to samo.
Dziwne bo kiedyś ten skrypt działał.
marcio
To zrob:
  1. if(!$fp) {
  2.  
  3. echo($errstr.'('.$errno.')');
  4.  
  5. }
tomahawk
Ok już działa. Trzeba było po nazwie domeny dać znak końca wiersza "\n"
marcio
No to powinno ci zwrocic E_WARGING w przypadku zlej domeny z tego c0 wyczytalem na php.net jakbys wyswietlil errstr to bys wiedzial smile.gif
nospor
Cytat
No to powinno ci zwrocic E_WARGING w przypadku zlej domeny z tego c0 wyczytalem na php.net jakbys wyswietlil errstr to bys wiedzial
Wcale ze nie. do fsockopen zostala podana dobra domena. a to co on potem wklada przez fputs() nie ma zadnego związku z $errstr
marcio
Cytat
a to co on potem wklada przez fputs() nie ma zadnego związku z $errstr

Ja nie powiedzialem ze ma smile.gif
nospor
Cytat
No to powinno ci zwrocic E_WARGING w przypadku zlej domeny z tego c0 wyczytalem na php.net jakbys wyswietlil errstr to bys wiedzial
to wytlumacz co powiedziales bo nijak ma sie to do tematu smile.gif
marcio
Cytat(nospor @ 3.02.2010, 13:13:30 ) *
to wytlumacz co powiedziales bo nijak ma sie to do tematu smile.gif

Owszem powiedzialem ze skoro nie dziala moze zla jest domena i moze byc E_WARNGING w $errstr nie wspominalem nic o tym co wysyla poprzez fputs()/fwrite().
Moze sie nie zrozumielismy.
nospor
ale jak autor tematu podał rozwiązanie, to ty zaczołeś mowic o E_WARNING o $errstr i jakby to wszystko przejrzał to juz dawno by wiedział gdzie problem.
Wyjasniam ci wiec, ze nic to by nie dalo, ze zaden E_WARNING nie jest generowany bo z połączeniem wszystko bylo ok. Autor zapomniał dac enter, na ktore oczekiwał whois. Jak sie nie doczekal to zwrocil komunikat TIMEOUT. Wszystko z socketami bylo ok, zadnych warningow i $errstr na poziomie php. Kapisz? smile.gif
marcio
Jaja smile.gif everything is clear.
Moj blad.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.