2016-08-04 19 views
0

ich das Folowing Stück Code versuchen aus:Ich erhalte HTTP-Antwort 200 für eine nicht vorhandene Website

<?php 
$site1 = 'http://www.teraasdsfssgggdadafasfra.com.br'; 

$handle = curl_init($site1); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); 

/* Gets the HTML or whatever is linked in the $url. */ 
$response = curl_exec($handle); 

/* Gets the HTTP code */ 
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); 

echo $httpCode; 

curl_close($handle); 
?> 

Wie Sie sehen können, die URL ziemlich seltsam ist, würde das wahrscheinlich einen 404 Code zurück .

Allerdings ist der Code, den ich bekomme, eine 200 Antwort, als ob die Seite existiert.

Ich denke, dass ich die Kriterien missverstehen könnte, die verwendet werden sollten, um zu überprüfen, ob eine Seite aktiv ist oder nicht. Was könnte ich hier vermissen?

Vielen Dank.

+1

i 0 bekommen erwarten, wenn ich es auf gefälschte Website laufen und bekommen 302 auf http : //www.gooogle.com Ich habe http://phpfiddle.org verwendet – brad

+1

Sie müssen sich mit einem Webserver verbinden, um einen Code zu erhalten. Ich würde 0 für das eine erwarten, aber Sie sollten '$ response' für' false' überprüfen, um zu sehen, ob es fehlgeschlagen ist. – AbraCadaver

+0

Ich erkannte, dass die Ergebnisse meines Codes bei der lokalen Ausführung anders waren als bei phpfiddle. Ihre Idee, zu überprüfen, ob die Antwort falsch war oder nicht, was in Brads Lösung nützlich ist. –

Antwort

1

so etwas wie dies in Reaktion auf Abra http://www.google.com existiert aber jkshakl ... gibt Ihnen die 404-Fehler Sie

<?php 
    $site1 = "http://www.google.com/jkdshaklfjhdasf"; 

$handle = curl_init($site1); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); 

/* Gets the HTML or whatever is linked in the $url. */ 
if($response = curl_exec($handle)){ 

/* Gets the HTTP code */ 
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); 

echo $httpCode; 

curl_close($handle); 

} 

else echo "server does not exist"; 
?> 
+0

Ich sehe, dass wir 3 Möglichkeiten mit diesem Code bekommen können: 1) "Server existiert nicht" - wenn der Domain-Name nicht existiert oder irgendwo erreicht; 2) eine positive Antwort, wenn sie existiert; 3) 404, wenn eine bestimmte Seite auf einem bestehenden Server nicht existiert. –