Avatar billede stussy Nybegynder
18. juli 2004 - 00:53 Der er 19 kommentarer og
2 løsninger

kik efter ledige domæner med 3 bogstaver

kan det lade sig gøre at lave en "maskine" der tester (via en domænetester naturligvis) hvilke domænenavne der er ledige med 3 bogstaver.

Kan det lave i asp / php fx.

Den skal nærmest bare lave en liste med alle muligheder, og så ellers via en domænetester fx. den de har ved azero.dk eller edf.dk, og vende tilbage med reultatet (kun de ledige).

200 point hvis det er muligt, og med forklaring hvordan.
Avatar billede marzman Nybegynder
18. juli 2004 - 01:04 #1
Prøv at spørge hos et webhotel om det ikke er noget de har en idé til... det er jo dem der har de php/asp filer der laver den liste over ledige og optaget domainer!!!
Avatar billede Slettet bruger
18. juli 2004 - 01:33 #2
Er du helt sikker på, at du ønsker at afprøve en liste med 17576 domænenavne?

Og det er bare, hvis du kun ønsker at undersøge på et enkelt top-level domæne som f.eks. dk. Hvis du også vil undersøge com, net, org eller andre, skal du gange tallet op.
Avatar billede roenving Novice
18. juli 2004 - 01:39 #3
-- og hvor mange bogstaver er det nu, som er blevet lovlige i urler ?-)

-- jeg har følgende streng til at chekke ordtegn:

\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ

dvs. 66 forskellige tegn, hvoraf 55 er bogstaver, så bliver det over 160.000 pr. domæne !-)
Avatar billede knudgert Nybegynder
18. juli 2004 - 01:47 #4
Ikke helt optimalt, som der også står på siden, ud af omkringe optagede domæner, var der en fejl.
http://script.dk/sourcecode.jsp?category=1,19&resourceId=1015
(php)
Avatar billede C:\> Juniormester
18. juli 2004 - 01:54 #5
Jeg har lavet et script som laver en liste over .cn domæner. Det er lavet på en fedtmule måde, da det skulle gå lidt stærkt. Jeg ville ikke have domæner som indeholder "xyz". Se om du kan (gen)bruge koden.

(listen over 3 bogstavs .cn -domæner ligger her:
http://www.7mm.dk/cn-domains.html hvis det skulle have interesse)

<?
function domain_exists($strDomain){
  $content = "";
  $strDomain = trim($strDomain);
  $strDomain = eregi_replace("[[:space:]]+", "", $strDomain);
  $strDomain = str_replace("www.", "", $strDomain);
  $strDomain = strtolower($strDomain);       

  $strDomain.=".cn";
  $fp = @fopen("http://ewhois.cnnic.net.cn/whois?value=$strDomain&entity=domain", "r");

  if (!$fp) return true;
        while (!feof($fp)  and (connection_status()==0)){
            $content .= fread($fp, 2048);
        }
       
        // søg efter teksten "ikke noget resultat"
        $pos = strpos($content, "table border=1 cellspacing=0 cellpadding=2");
        if ($pos === false) {
            $result = false;
        } else {
            $result = true;
        }
        return $result;
    }

  print "<table width=100% border=1><tr>";
  $r=0;
  for ($a="a"; $a<="w"; $a++)
    for ($b="a"; $b<="w"; $b++)
      for ($c="a"; $c<="w"; $c++) {
        if (!domain_exists("$a$b$c")) {
          print "<td>$a$b$c.cn </td>";
          if (++$r%8==0) print "</tr>\n<tr>";
        }
  }
  print "</td></tr>";
  print "</table><br>";
?>
Avatar billede C:\> Juniormester
18. juli 2004 - 02:02 #6
en lille pusseløjerlig ting er, at domænet "com.cn" faktisk skulle være ledigt, men det er samtidigt et tld (top level domæne). Domænet kan købes hos f.eks. surftown!
Avatar billede Slettet bruger
18. juli 2004 - 02:21 #7
Nu gik spørgsmålet jo på 3 bogstaver, og jeg holdte mig til dem, der virker i alle browsere uden at kræve plugins - dvs. a-z. Hvis det bare er 3 tegn, så bliver det jo lidt flere.
Avatar billede Slettet bruger
18. juli 2004 - 02:31 #8
Og det er ifølge http://www.difo.dk/regler/Tegn-01-01-2004.pdf heller ikke alle specialbogstaver, der er gyldige under .dk. Kun a-å og öüé
Avatar billede roenving Novice
18. juli 2004 - 02:35 #9
-- nu har jeg så også den streng liggende som en generel streng til f.eks. at validere mail-adresser, og da sådan en jo kan stamme fra mange lande, satte jeg bare alle de tegn ind, som jeg umiddelbart kunne skrive med tastaturet ...
Avatar billede C:\> Juniormester
18. juli 2004 - 14:26 #10
Hvis mit lille script skal teste 3 karakter fra a-z ændres de 3 linier:

  for ($a="a"; $a<="w"; $a++)
    for ($b="a"; $b<="w"; $b++)
      for ($c="a"; $c<="w"; $c++) {

til ->

  for ($a="a"; $a<="z"; $a++)
    for ($b="a"; $b<="z"; $b++)
      for ($c="a"; $c<="z"; $c++) {

Der er blir ikke testet for nogle special tegn.

Et lille spørgsmål: Er det kun .dk domæner du ønsker at teste?
- hvis ja, skal det så være inkl. æøå?
Avatar billede stussy Nybegynder
18. juli 2004 - 20:00 #11
Ja det er kun .dk domæner, og a-z UDEN tal, æøå, og specialtegn som "-" o.lign.
dvs. 25 bogstaver = 15.625 forskellige kompinationer.

er det muligt?
Avatar billede roenving Novice
18. juli 2004 - 20:17 #12
Du skal bare finde den tilsvarende .dk-maskine cf560 har for .cn-domæner !-)
Avatar billede C:\> Juniormester
18. juli 2004 - 20:22 #13
Yes det er muligt, og her et den modificerede udgave af mit script som tester .dk domæner.

Du behøver dog ikke besværet med at køre det i dag, for der er ingen danske domæner på 3 bogstaver som er ledige pt. - jeg var selv nysgerrig :-)


Her er hele koden:
-----------------------------------------------
<html>
<body>
<?
function domain_exists($strDomain){
  $content = "";
  $strDomain = trim($strDomain);
  $strDomain = eregi_replace("[[:space:]]+", "", $strDomain);
  $strDomain = str_replace("www.", "", $strDomain);
  $strDomain = strtolower($strDomain);

  $strDomain.=".dk";
  $fp = @fopen("http://www.dk-hostmaster.dk/dkhostcms/bs?query=$strDomain&pageid=82&action=cmsview&lang=da", "r");

  if (!$fp) return true;
  while (!feof($fp)  and (connection_status()==0)){
    $content .= fread($fp, 2048);
  }
       
  $pos = strpos($content, "ikke noget resultat");
  if ($pos === true) {
    $result = false;
  } else {
    $result = true;
  }
  return $result;
}

  print "<table width=100% border=1><tr>";
  $r=$antal_led=$antal_ialt=0;
  for ($a="a"; $a<="z"; $a++)
    for ($b="a"; $b<="z"; $b++)
      for ($c="a"; $c<="z"; $c++,$antal_ialt++) {
        if (!domain_exists("$a$b$c")) {
          $antal++;
          print "<td><a href=\"http://www.$a$b$c.dk\" target=_new>$a$b$c.dk</a> </td>";
          if (++$r%8==0) print "</tr>\n<tr>";
        }
       
  }
  print "</td></tr>";
  print "</table><br>";
  print "Antal legdige domæner: $antal_led ud af $antal_ialt";
?>
</body>
</html>
Avatar billede roenving Novice
18. juli 2004 - 20:26 #14
I stedet for

  if ($pos === true) {
    $result = false;
  } else {
    $result = true;
  }
  return $result;

kunne man vel nøjes med:

  return $pos !== true;
Avatar billede C:\> Juniormester
18. juli 2004 - 20:35 #15
Det er nemlig rigtigt. Koden er lidt "gake-lak", og alle er velkommen til at optimere den.

f.eks, gør følgende
  $strDomain = trim($strDomain);
  $strDomain = eregi_replace("[[:space:]]+", "", $strDomain);
  $strDomain = str_replace("www.", "", $strDomain);
  $strDomain = strtolower($strDomain);
- INGEN TING og kan fjernes.

og filhandle $fp har jeg glemt at lukke.
Der er sanlig plads til forbedringer :-)
Avatar billede stussy Nybegynder
18. juli 2004 - 20:51 #16
jeg ved med sikkerhed at flere er ledige, bl.a. www.yku.dk men jeg har sat din maskine igang, og det tager godt nok nogen tid :-)

men lad os se hvad der sker.
Avatar billede stussy Nybegynder
18. juli 2004 - 21:30 #17
er det muligt at lave et eller andet, så man kan se hvor langt den er kommet?
og hvordan ser det optimale script ud? efter de ændringer i snakker om.
Avatar billede Slettet bruger
19. juli 2004 - 13:07 #18
a-z=26 bogstaver. Der er 29 bogstaver i det danske alfabet (på trods af at man synger 28 i alfabetsangen.)
Avatar billede C:\> Juniormester
22. juli 2004 - 00:15 #19
Her er scriptet som er rimeligt optimeret og afprøvet. - Jeg tror ikke du kan forlange mere for 200 point.

Det er ikke muligt at lave så man kan følge med i processen, med mindre resultatet skrives til en fil, som så læses med intervaller.


--------------------------------------
<html>
<body>
<?
function domain_exists($strDomain) {
  $fp = @fopen("http://www.dk-hostmaster.dk/dkhostcms/bs?query=$strDomain.dk&pageid=82&action=cmsview&lang=da", "r");
  if (!$fp) die("Det er ikke muligt at afvikle dette script fra denne server");
  $content = fread($fp, 2048*8); // 16Kb er lige præcist nok til at afgøre resultatet.
  fclose ($fp);
  return (strpos($content, "ikke noget resultat") === false ? 0 : 1);
}

  print "<table width=100% border=1><tr>";
  $r=$antal_led=$antal_ialt=0;
  for ($a=ord("a"); $a<=ord("z"); $a++)
    for ($b=ord("a"); $b<=ord("z"); $b++)
      for ($c=ord("a"); $c<=ord("z"); $c++,$antal_ialt++) {
        $dom=chr($a).chr($b).chr($c);
        if (domain_exists($dom)) {
          $antal_led++;
          print "<td><a href=\"http://www.$dom.dk\" target=_new>$dom.dk</a> </td>";
          if (++$r%8==0) print "</tr>\n<tr>";
        }
  }
  print "</td></tr>";
  print "</table><br>";
  print "Antal legdige domæner: $antal_led ud af $antal_ialt";
?>
</body>
</html>

--------------------------------------
Avatar billede stussy Nybegynder
23. juli 2004 - 16:14 #20
takker for hjælpen
Avatar billede stussy Nybegynder
28. oktober 2004 - 00:42 #21
hej igen cf560

Jeg har lige oprettet et spg. om modernisering af dit script, og håber det er noget du måske kan tjekke ud?

http://www.eksperten.dk/spm/555295
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
Kurser inden for grundlæggende programmering

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



Seneste spørgsmål Seneste aktivitet
I går 15:32 Skype telefon nummer Af Nørdnot i Chat & Messaging
I går 13:20 Flere mails Af Ŕibe i E-mail programmer
I går 11:49 java Af OBS i Java
I går 10:06 Ipad flydende skærm uønsket Af nu_igen i Tablet
I går 07:20 Systemvariable Af OBS i Windows