Detecteren of website offline is of in onderhoud

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

15/05/2016 13:55:30
Quote Anchor link
Leden kunnen hun website invoeren.
De ervaring leert echter dat men nogal slordig is met het verwijderen van de website op forums.
Maar het is overdreven om een lijst te maken met daartussen websites die offline zijn.
Dat kan met het lezen van de header duidelijk worden.
Bij onderhoud ligt dat anders.
Als er een vervangende startpagina is gemaakt zal het wel moeilijk zijn om te detecteren.
Maar als er een htaccess is gemaakt, kun je daar dan wat mee?
Of als er een (php) redirect is gemaakt?

Mijn vraag komt voort uit het komen en gaan van internet radiostations en DJ's.
 
PHP hulp

PHP hulp

22/12/2024 10:10:03
 
- Ariën  -
Beheerder

- Ariën -

15/05/2016 14:13:11
Quote Anchor link
Met een controle op de 200 'OK' statuscode kan je aardig goed kijken of een site online is. 100% garantie is het niet ondat onderhouds-pagina's soms ook geen andere header gebruiken
Gewijzigd op 15/05/2016 14:14:23 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

15/05/2016 14:45:31
Quote Anchor link
@Hans, heb jij invloed op de samenstelling van die websites/webpagina's of heb je een scraper die daar informatie vandaan haalt / probeert te halen? Het perspectief van waaruit jij de vraag stelt is mij onduidelijk.

In het eerste geval kun je dit zelf inprogrammeren. Integreer een globale aan/uit knop. De site zou dan bijvoorbeeld alleen beschikbaar kunnen zijn voor developers als deze uitgeschakeld is.
Indien dan een onderhoudspagina wordt geserveerd aan een niet-developer zou je deze een header mee kunnen geven, bijvoorbeeld:
404 Not Found, of
503 Service Unavailable

Overigens zou het systeem ook een 404 HTTP status code moeten produceren indien iemand een niet (langer) bestaande pagina opvraagt. Anders is je 404 pagina (die vrolijk een 200 OK header retourneert) niet te onderscheiden van een normale pagina.

In het tweede geval ben je overgeleverd aan de goden en ben je afhankelijk van hoe zo'n site is opgezet.

Daarnaast kunnen libraries zoals cURL redirects volgen, als dat je eigenlijke vraag is. Hoe meer ik je topic lees, hoe onduidelijker het eigenlijk wordt wat je nu eigenlijk wilt weten...
 
Hans De Ridder

Hans De Ridder

15/05/2016 15:11:02
Quote Anchor link
Bedankt voor de reacties...
Gaat om mijn eigen site.

Maar om te checken of andere websites offline zijn of in onderhoud.
Dus als webradio vanlid offline is, wil ik scriptje maken om die niet mee te nemen in mijn lijst.
Dat is niet zo moeilijk.

Maar gaat me vooral om het tijdelijk offline zijn ofin onderhoud.
 
- Ariën  -
Beheerder

- Ariën -

15/05/2016 15:18:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function checkURL($url){
       $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch=curl_init();
       curl_setopt ($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_USERAGENT, $agent);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch,CURLOPT_VERBOSE,false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 5);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch,CURLOPT_SSLVERSION,3);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
       $page=curl_exec($ch);
       $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       curl_close($ch);
       if($httpcode>=200 && $httpcode<300) return true;
       else return false;
}

if (checkURL("http://www.phphulp.nl")) {
       echo "Site is UP";
}
else {
       echo "Site is DOWN";
}

?>
Gewijzigd op 15/05/2016 15:19:12 door - Ariën -
 
Hans De Ridder

Hans De Ridder

15/05/2016 20:28:30
Quote Anchor link
@Ariën, ik heb het even uitgeprobeerd.
Maar alle sites geven DOWN aan.
Overigens heb ik even bij de serverinfo gekeken. Curl staat erop.
 
- Ariën  -
Beheerder

- Ariën -

15/05/2016 20:54:45
Quote Anchor link
Zie je wat meer als je de error_reporing aanzet?
En wat geeft $httpcode terug?
 
Hans De Ridder

Hans De Ridder

15/05/2016 21:13:28
Quote Anchor link
$httpcode = 302

Geen errors.




Toevoeging op 15/05/2016 21:22:20:

Denk dat phphulp een redirect is. code 302
En mijn eigen adres is nu nog verbidden. code 403.
Bij invoeren van google gaat het goed. code 200.
Dus werkt wel...
 
Marthijn Buijs

Marthijn Buijs

15/05/2016 21:23:45
Quote Anchor link
Als de HTTP-code 302 aangeeft is het toch niet zo gek dat de website "DOWN" is?
Gewijzigd op 15/05/2016 21:23:56 door Marthijn Buijs
 
Hans De Ridder

Hans De Ridder

15/05/2016 21:30:24
Quote Anchor link
Maar die code 302 kwam bij phphulp.nl.
En die was echt niet down maar redirect waarschijnlijk.
En dat verbaasde me.
Mijn eigen site staat nog niks als index, dus die foutcode klopt ook wel.
En bij google.nl was de response UP.
 
- Ariën  -
Beheerder

- Ariën -

15/05/2016 21:43:42
Quote Anchor link
Klopt, PHPhulp draait via een proxy, dus krijg je een 302-code terug. Met deze code toegevoegd aan het script zal hij ook de redirect volgen:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 
Marthijn Buijs

Marthijn Buijs

15/05/2016 21:57:05
Quote Anchor link
Ik sta echt versteld wat de Curl-lib allemaal kan :O
 
- Ariën  -
Beheerder

- Ariën -

15/05/2016 22:06:09
Quote Anchor link
Meer dan je denkt.... ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.