Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sprawdzanie domen
Narg
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 17.11.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Witam...

Zastanawiałem się gdzie dać ten post. Dotyczy on coprawda modyfikacji instniejącego skryptu jednak po przejrzeniu postów na forum Skrypty doszedłem do wniosku że poruszane są tam proste rzeczy więc zdecydowałem się na to forum. Jeżeli to komuś specjalnie przeszkadza to przepraszam i prosze moderatora o przesunięcie tematu, ale do rzeczy:

Potrzebuje skryptu do sprawdzania domen, a jak wiadomo niejest to tak dokońca prosta sprawa (niestety) więc postanowiłem skorzystać z gotowca (skrypt mrwhois) Problem w tym, że sprawdza on tylko domeny *.com, *.net, *.org, *.biz, a ja dodatkowo potrzebuje jeszcze *.pl i polskich funkcjonalnych (*.net.pl etc...) ale do rzeczy: mam taki skrypt: (moje modyfikacje oznaczyłem #####)

http://foa.sarnet.pl/team/narg/whois.txt

Wszystko ladnie pięknie tyle, że w przypadku domen *.pl zawsze wywala że domena jest zajęta choć tak niejest... niewiem w czym jest bład. Próbowałem zmieniać dane whois ale bez rezultatu. Prosze o pomoc lub jakąs sugestie która pomoże mi samodzielnie napisać taki skrypt, a może znacie inne tego typu obsługujące większą ilość domen?

Z góry dzięki za pomoc smile.gif

Pozdrawiam
Narg

PS. sorki za tak długi kod ale niejest on taki straszny jak wygląda smile.gif połowa to definicje stałych i ustawienie stylów css... smile.gif


--------------------
www.foa.sarnet.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Kwadrat
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.04.2003

Ostrzeżenie: (0%)
-----


Zobacz tutaj, moze pomoże...

http://forum.php.pl/viewtopic.php?t=6766
Go to the top of the page
+Quote Post
Narg
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 17.11.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


hmm... thx smile.gif

qrde na lolka teraz wyszedłem tongue.gif jakoś mi ten topic umknoł a przed napisaniem mojego postu dość dokładnie przeszukiwałem forum bo byłem pewny że to się napewno już pojawiło smile.gif dziwna ta wyszukiwarka w phpbb - bo moim zapytanią nie moge nic zarzucić tongue.gif tongue.gif tongue.gif

cóż jeszcze raz dzięki smile.gif

Pozdrawiam
Narg


--------------------
www.foa.sarnet.pl
Go to the top of the page
+Quote Post
ixtab
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.09.2010

Ostrzeżenie: (0%)
-----


Może małe odświeżenie tematu... Mam dokładnie ten sam problem, a link, który podał Kwadrat jest już dead... Od wczoraj szukam rozwiązania i testuje mnóstwo różnych skryptów typu whois. Oto kod
  1. <?php
  2. function checkDomain($domain,$server,$findText){
  3. // Open a socket connection to the whois server
  4. $con = fsockopen($server, 43);
  5. if (!$con) return false;
  6.  
  7. // Send the requested doman name
  8. fputs($con, $domain."\r\n");
  9.  
  10. // Read and store the server response
  11. $response = ' :';
  12. while(!feof($con)) {
  13. $response .= fgets($con,128);
  14. }
  15.  
  16. // Close the connection
  17. fclose($con);
  18.  
  19. // Check the response stream whether the domain is available
  20. if (strpos($response, $findText)){
  21. return true;
  22. }
  23. else {
  24. return false;
  25. }
  26. }
  27.  
  28. function showDomainResult($domain,$server,$findText){
  29. if (checkDomain($domain,$server,$findText)){
  30. echo "<tr><td>$domain</td><td>AVAILABLE</td></tr>";
  31. }
  32. else echo "<tr><td>$domain</td><td>TAKEN</td></tr>";
  33. }
  34. ?>
  35.  
  36. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
  37. <html>
  38. <body>
  39. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain">
  40. Domain name:
  41. <table>
  42. <tr><td><input name="domainname" type="text" /></td></tr>
  43. <tr><td><input type="checkbox" name="com" checked/>.pl</td></tr>
  44. <tr><td><input type="submit" name="submitBtn" value="Check domain"/></td></tr>
  45. </table>
  46. </form>
  47. <?php
  48. // The form was submitted
  49. if (isset($_POST['submitBtn'])){
  50. $domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
  51. $d_com = (isset($_POST['com'])) ? 'com' : '';
  52.  
  53. // Check domains only if the base name is big enough
  54. if (strlen($domainbase)>2){
  55. echo '<table>';
  56. if ($d_com != '')
  57. showDomainResult($domainbase.".pl",'whois.dns.pl','No match for');
  58. echo '</table>';
  59. }
  60. }
  61. ?>
  62. </body>


Nie zwracajcie uwagi na ".com" w kilku miejscach, jeśli uda się doprowadzić skrypt do stanu używalności, to wszystko się poprawi. Problem w tym, że dla domeny .PL skrypt zawsze wyrzuci, że domena jest już zajęta mimo że w rzeczywistości jest inaczej...
Go to the top of the page
+Quote Post
faflok
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.01.2008

Ostrzeżenie: (0%)
-----


spróbuj inny whois np: whois.crsnic.net u mnie działa
Go to the top of the page
+Quote Post
Janek85
post
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 2
Dołączył: 31.08.2010

Ostrzeżenie: (0%)
-----


Dla potomnych, którzy szukają odpowiedzi na ww pytanie. Skrypt działa, należy tylko zmienić frazę sprawdzaną z odpowiedzią jaką daje nam serwer.

poprawny kod:
  1. // Check domains only if the base name is big enough
  2. if (strlen($domainbase)>2){
  3. echo '<table>';
  4. if ($d_com != '')
  5. showDomainResult($domainbase.".pl",'whois.dns.pl','No information available');
  6. echo '</table>';
  7. }


działający kod ixtab'a, do własnych poprawek:
  1. <?php
  2. function checkDomain($domain,$server,$findText){
  3. // Open a socket connection to the whois server
  4. $con = fsockopen($server, 43);
  5. if (!$con) return false;
  6.  
  7. // Send the requested doman name
  8. fputs($con, $domain."\r\n");
  9.  
  10. // Read and store the server response
  11. $response = ' :';
  12. while(!feof($con)) {
  13. $response .= fgets($con,128);
  14. }
  15.  
  16. // Close the connection
  17. fclose($con);
  18.  
  19. // Check the response stream whether the domain is available
  20. if (strpos($response, $findText)){
  21. return true;
  22. }
  23. else {
  24. return false;
  25. }
  26. }
  27.  
  28. function showDomainResult($domain,$server,$findText){
  29. if (checkDomain($domain,$server,$findText)){
  30. echo "<tr><td>$domain</td><td>AVAILABLE</td></tr>";
  31. }
  32. else echo "<tr><td>$domain</td><td>TAKEN</td></tr>";
  33. }
  34. ?>
  35.  
  36. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
  37. <html>
  38. <body>
  39. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain">
  40. Domain name:
  41. <table>
  42. <tr><td><input name="domainname" type="text" /></td></tr>
  43. <tr><td><input type="checkbox" name="com" checked/>.pl</td></tr>
  44. <tr><td><input type="submit" name="submitBtn" value="Check domain"/></td></tr>
  45. </table>
  46. </form>
  47. <?php
  48. // The form was submitted
  49. if (isset($_POST['submitBtn'])){
  50. $domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
  51. $d_com = (isset($_POST['com'])) ? 'com' : '';
  52.  
  53. // Check domains only if the base name is big enough
  54. if (strlen($domainbase)>= 2){
  55. echo '<table>';
  56. if ($d_com != '')
  57. showDomainResult($domainbase.".pl",'whois.dns.pl','No information available');
  58. echo '</table>';
  59. }
  60. }
  61. ?>
  62. </body>


sprawdza domeny pl od 2 znaków.
Jeśli ktoś szuka bardziej rozbudowanego whois, polecam: http://www.phpwhois.org/

pozdrawiam.



Ten post edytował Janek85 17.04.2011, 17:31:59
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:18