Avatar billede superbent Nybegynder
25. december 2008 - 20:07 Der er 6 kommentarer og
1 løsning

Hjælp til at parse info fra DK Hostmaster ud fra domæne navne

Hej

Jeg kunne godt tænke mig at få noget hjælp til denne problemstilling.


Jeg vil gerne kunne indtaste evt. i en textarea en bunke domæner, eller i en tekst fil, eks:

domæne1.dk
domæne2.dk
hejsa.dk

Hvor scriptet tjekker informationer hos DK Hostmaster, og kun udskriver:
Fornavn Efternavn
Adresse nr
Postnr Bynavn

efterfulgt af to linjeskift, og så info for det næste domæne nedenunder.

Jeg har adgang til curl på mit webhotel hvis det har relevans.

Er det noget der er til at lave?

Jeg har ingen anelse hvordan jeg skal lave den regex som skal kunne hive data ud fra DK Hostmasters hjemmeside.


På forhånd mange tak
Avatar billede superbent Nybegynder
25. december 2008 - 20:44 #1
I følge:
http://www.dk-hostmaster.dk/index.php?id=289

Skal man også bruge et argument med show handles.
Avatar billede superbent Nybegynder
25. december 2008 - 20:45 #2
Her er et eksempel på hvordan man hiver fat i indholdet af en side.

Det er nok mere hvordan man parser den (hvis man kan dette med whois hos dkhostmaster).

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
Avatar billede coderdk Praktikant
25. december 2008 - 22:23 #3
her er et lille script, du kan lege med:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Domæne: <input type="text" name="q"><br>
    <input type="checkbox" name="x" value="1"> Udvidet information<br>
    <input type="submit" name="s" value="Søg">
</form>
<?php

    if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
    {
      echo "<p>Resultat for $_POST[q]...<hr>";
      if ( $fp = @fsockopen( 'whois.dk-hostmaster.dk', 43, $en, $es, 3 ) )
      {
          $x = ( isset( $_POST['x'] ) ? '--show-handles ' : '' );
          fwrite( $fp, $x . "$_POST[q]\n\n" );
          echo "<pre>";
          while ( !feof( $fp ) )
          {
              echo fread( $fp, 1024 );
          }
          fclose( $fp );
          echo "</pre>";
      }
      else
      {
          echo "Kunne ikke forbinde til whois-serveren.<br>$en: $es";
      }
      echo "</p>";
    }

?>
Avatar billede superbent Nybegynder
25. december 2008 - 23:41 #4
Tak!

Jamen den virker upåklageligt.


Det jeg nu mere søgte var hvordan man laver en regexp som kan finde frem til (hvis man tager jubii.dk):

Registrant
Handle:              JA3870-DK
Name:                Jubii A/S
Address:              Fabrikmestervej 10 B.90
Postalcode:          1437
City:                København K

Og udskrive:

Jubii A/S
Fabrikmestervej 10 B.90
1437 København K

Altså man kan vel sige en regexp hvor at den skal tage ALT fra efter kolon (Name: XX) til linjen slutter.

Jeg kan dog bare ikke finde ud af regexp, synes det er lidt langhåret.. :)
Avatar billede coderdk Praktikant
26. december 2008 - 00:33 #5
F.eks. noget med:

preg_match("/^Name: (.*)$/im", $whoisinfo, $m );
echo "Navnet er $m[1]";

Osv...
Avatar billede superbent Nybegynder
17. januar 2009 - 04:20 #6
Du må gerne komme med svar tak ;)
Avatar billede coderdk Praktikant
17. januar 2009 - 15:22 #7
Aight :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester