Używam CURL, aby sprawdzić stan witryny, jeśli jest włączona / wyłączona lub przekierowuje do innej witryny. Chcę, aby był jak najbardziej uproszczony, ale nie działa dobrze.
<?php
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpcode;
?>
Mam to zapakowane w funkcję. Działa dobrze, ale wydajność nie jest najlepsza, ponieważ pobiera całą stronę, jeśli $output = curl_exec($ch);
usunę, 0
cały czas wraca .
Czy ktoś wie, jak poprawić wydajność?
źródło
curl_setopt($ch, CURLOPT_NOBODY, true);
się zawiesza. Nie jestem pewien, czy jest to związane z wersją PHP serwera.źródło
źródło
Wypróbuj funkcję PHP " get_headers ".
Coś w rodzaju:
źródło
curl_getinfo
- Uzyskaj informacje dotyczące konkretnego przelewuSprawdź curl_getinfo
źródło
curl_exec
jest konieczne. StarajCURLOPT_NOBODY
się nie pobierać treści. To mogłoby być szybsze.źródło
źródło
użyj tej metody hitCurl do pobrania wszystkich typów odpowiedzi API, np. Get / Post
Funkcja demonstracyjna do testowania API
źródło
Oto moje rozwiązanie, które wymaga uzyskania Status Http do regularnego sprawdzania stanu serwera
źródło