Heim > Artikel > Backend-Entwicklung > Curl – PHP ermittelt, ob eine Website geöffnet werden kann
Ich möchte feststellen, ob eine Website geöffnet werden kann
1. Verwenden Sie zunächst PHP, um zu sehen, ob ein Ping möglich ist.
Ob die HTTP-Rückgabe 200Ok ist.
3 Dateiinhalt hat HTML-Tags
Jetzt weiß ich hauptsächlich nicht, wie ich den dritten Schritt implementieren soll. Ist es, direkt file_get_content zu verwenden und dann zu prüfen, ob HTML in dieser Datei vorhanden ist?
Strpos verwenden?
Ich möchte feststellen, ob eine Website geöffnet werden kann
1. Verwenden Sie zunächst PHP, um zu sehen, ob ein Ping möglich ist.
Ob die HTTP-Rückgabe 200Ok ist.
3 Dateiinhalt hat HTML-Tags
Jetzt weiß ich hauptsächlich nicht, wie ich den dritten Schritt implementieren soll. Ist es, direkt file_get_content zu verwenden und dann zu prüfen, ob HTML in dieser Datei vorhanden ist?
Strpos verwenden?
<code><?php $url = 'http://www.baidu.com/'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch); // $resp = curl_exec($ch); $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($curl_code == 200) { echo '连接成功,状态码:' . $curl_code; } else { echo '连接失败,状态码:' . $curl_code; }</code>
Wenn ein Sprung wie 302 auch als erfolgreicher Zugriff gewertet wird, können Sie ihn auch zum Urteil hinzufügen.
<code>if ($curl_code == 200 || $curl_code == 302) { echo '连接成功,状态码:' . $curl_code; } else { echo '连接失败,状态码:' . $curl_code; }</code>
http://www.baidu.com/
gibt 200 zurück; http://www.baidu.com/xxx
gibt 302 zurück. Während des tatsächlichen Zugriffs springt http://www.baidu.com/xxx
so zu https://www.baidu.com/search/error.html
.
Ich denke, Sie können zuerst den Dateiinhalt abrufen und dann feststellen, ob ein HTML-Tag vorhanden ist! Es gibt keinen Grund zur Sorge ^_^
curl
Simulieren Sie einmal einen Besuch und beurteilen Sie anhand des Rückgabewerts.
curl ermittelt, ob der HTTP-Status 200 ist