[PHP] cURL; niet bestaand domein toch 200

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 13-09 07:35
Ik ben bezig met een script dat kijkt of een domein bestaat / op het betreffende tijdstip aan te spreken is. Dit doe ik dmv cURL. Wanneer ik het domein google.com aanvraag gaat alles goed en krijg ik de http code "200" terug. Maar wanneer ik een niet bestaand domein opvraag, bijvoorbeeld: "www.boeras35325asddam.nl" krijg ik ook http_code "200" terug.

Volgens mij gaat het mis op de server van mijn hostingpartij, maar dat is slechts een vermoeden. Heb op google niet veel zelfde probleemgevallen gevonden.
Dit is mijn code:
PHP: test.php
1
2
3
4
5
6
7
8
9
10
<?php
     // Settings
     $reachUrl = "www.boeras35325asddam.nl";
     
     $ch = curl_init($reachUrl);

     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
     curl_exec($ch);
     curl_close($ch);
?>


Kan iemand mij dichter naar het licht toe brengen ;)

Acties:
  • 0 Henk 'm!

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 13-09 10:55

Nick_S

++?????++ Out of Cheese Error

Wat krijg je te zien als je op dezelfde server die pagina ophaalt met een browser of wget?

@Onder: Dat kan inderdaad ook, maar aangezien ik php'er ben wist ik dat niet in een paar regels uit te leggen. ;)

[ Voor 39% gewijzigd door Nick_S op 05-02-2010 15:47 ]

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


Acties:
  • 0 Henk 'm!

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Of je slaat even op wat cUrl terug krijgt. Misschien laat je hoster een custom pagina zien.

code:
1
2
3
4
5
6
7
..
$fp = fopen("test.txt", "w");
..
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
..
fclose($fp);


Ik zat even op php.net te lezen over cURL, en ik zag daar een ander voorbeeld voor een domeinen checker die gebruik maakt van curl_errno($ch) http://www.php.net/manual/en/book.curl.php#95000

[ Voor 30% gewijzigd door DanielG op 05-02-2010 15:58 . Reden: URL erbij ]

http://xyproblem.info/


Acties:
  • 0 Henk 'm!

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 13-09 07:35
@DanielG
Ik heb het geprobeerd, dit krijg ik terug: <html>Apache is functioning normally</html>

Het voorbeeld met curl_errno heb ik ook geprobeerd, volgens cURL is het domein niet beschikbaar, terwijl deze natuurlijk wel beschikbaar is.

[ Voor 42% gewijzigd door Bjk op 05-02-2010 16:21 ]


Acties:
  • 0 Henk 'm!

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Dus als jij een [niet bestaand domein opvraag, bijvoorbeeld: "www.boeras35325asddam.nl"] krijg jij terug <html>Apache is functioning normally</html> :?

Dan is er wel iets goed mis.

http://xyproblem.info/


Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 06-09 16:59

CoolGamer

What is it? Dragons?

(jarig!)
Moet je er geen http voor zetten?
PHP:
1
$reachUrl = "http://www.boeras35325asddam.nl";


In het voorbeeld in de handleiding staat er wel http voor.

[ Voor 38% gewijzigd door CoolGamer op 05-02-2010 16:31 ]

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • Luqq
  • Registratie: Juni 2005
  • Laatst online: 12-09 14:10
Geen DNS server á la google die je bij niet bestaande domeinen naar een google query naar die string doorverwijst?

Acties:
  • 0 Henk 'm!

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 13-09 07:35
@DanielG ja dit krijg ik terug, maar 'wat' gaat er fout. Het lijkt er een beetje op dat de server zelf redirect oid.

@TheCoolGamer heb het beide geprobeerd, zelfde resultaat.

@Luqq hoe vang ik dit af?

[ Voor 7% gewijzigd door Bjk op 05-02-2010 16:34 ]


Acties:
  • 0 Henk 'm!

  • Luqq
  • Registratie: Juni 2005
  • Laatst online: 12-09 14:10
Kijken wat voor data je terugkrijgt?

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 23:24
wat gebeurt er als je het dns record opvraagd?

PHP:
1
2
3
4
5
<?php

$host = 'nietbestaandedomeinnaam.nl';
var_dump( dns_get_record($host) );
?>


Bij een niet bestaand domein geeft dit false terug. Bij een bestaand domein een hele reeks info over het domein.

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 09-09 17:16
Als je www.hoi.nl doet dan linkt ie naar /path/van/je/site/www.hoi.nl

Altijd een protocol definiëren, dus http:// gebruiken!

Als je dan nog een apache pagina krijgt (w.s. van je eigen host) dan is er wat mis met je hoster. Want dan krijg je dezelfde pagina ook w.s. te zien bij tweakers.net

[ Voor 38% gewijzigd door RedHat op 05-02-2010 18:04 ]


Acties:
  • 0 Henk 'm!

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 13-09 07:35
@redhat tweakers.net en overige bestaande domeinen werken prima. Niet bestaande domeinen daar in tegen blijven <html>Apache is functioning normally</html> terug geven.

Ik zal kijken of het op een andere webserver ook fout gaat. Tot nu toe kom ik dus nog niet verder.

Acties:
  • 0 Henk 'm!

Verwijderd

Waarschijnlijk gebruikt je isp dns servers die niet de juiste code returnen en je doorsturen naar een pagina met reclame (net als OpenDNS).

Voer ook eens "nslookup nonexistingdomainabcdef.cade" in op de ssh of dergelijke.

Als de server echt deze dns servers gebruikt, zal je zelf via fsockopen en udp een dns lookup doen (of via exec()). Probleem ligt waarschijnlijk bij curl, kijk eens naar Zend_Http: http://framework.zend.com/manual/en/zend.http.html

Acties:
  • 0 Henk 'm!

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 13-09 07:35
Inmiddels getest op mijn localhost, alles gaat daar goed. Dus het zit ergens bij de host.
Als iemand weet waar ik moet zoeken..

[ Voor 17% gewijzigd door Bjk op 05-02-2010 20:26 ]


Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 06-09 16:59

CoolGamer

What is it? Dragons?

(jarig!)
Bij de dns zoals hierboven is gezegd.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • StM
  • Registratie: Februari 2005
  • Laatst online: 12-09 12:17

StM

Hoogst waarschijnlijk krijg je het IP van de server terug als je een niet bestaand domein probeert te resolven. De server is dan verkeerd geconfigged. Je zal dan contact met je host op moeten nemen.

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Of je hebt je uitgaande poort 80 gemapt in plaats van je inkomende poort 80, met daarachter een server die naar alles luistert?
Pagina: 1