[Gez] Ajax url checker
Ik zoek een script om een IP adres lokaal te kunnen checken. (Kom niet met PHP, fsockopen, cURL, want dat werkt dus niet.)
Hij zou moeten blijven proberen (elke 5sec bijv) of een IP adres (192.168.*.**) de status 200 OK terug geeft en zo ja dan het IP adres bezoeken.
Ik kan op Google niet vinden wat ik zoek.
Heeft iemand misschien wat liggen of tijd over om wat in elkaar te zetten of een sprong in de goede richting?
Zou erg mooi zijn als iemand kan helpen.
Bij voorbaat hartelijk bedankt.
Of anders een sprong in de goede richting:
Ga werken met AJAX. Hiermee kun je de pagina ophalen en vervolgens kun je checken of deze een status 200 terug geeft. Met functies als setTimeout kun je het om de 5 sec. proberen, iets als:
misschien dat je dit met de exec functie kan doen, ik heb geen idee of je daarmee ook waarden terug kan krijgen eerlijk gezegt. Als dat niet zo is, dan kan je altijd via de batch oid een bestandje aanmaken met het resultaat
De jQuery AJAX documentatie geeft toch voldoende info?
Wouter J op 26/03/2012 22:10:09:
Vacature?
Of anders een sprong in de goede richting:
Ga werken met AJAX. Hiermee kun je de pagina ophalen en vervolgens kun je checken of deze een status 200 terug geeft. Met functies als setTimeout kun je het om de 5 sec. proberen, iets als:
Of anders een sprong in de goede richting:
Ga werken met AJAX. Hiermee kun je de pagina ophalen en vervolgens kun je checken of deze een status 200 terug geeft. Met functies als setTimeout kun je het om de 5 sec. proberen, iets als:
Dan wel een vrijwilligers vacature ;)
Ik heb zelf weinig met Ajax gedaan en heb eigenlijk dus geen idee hoe ik 't precies moet aanpakken. Ik neem eigenlijk aan dat 't met een paar regeltjes kan.
Ik heb 't in PHP wel gemaakt, maar dat werkt dus niet voor een lokaal adres en er moet een lokaal adres worden gecheckt net zolang tot dat ie t doet en dan het betreffende adres openen.
Vincent Huisman op 26/03/2012 22:25:19:
misschien dat je dit met de exec functie kan doen, ik heb geen idee of je daarmee ook waarden terug kan krijgen eerlijk gezegt. Als dat niet zo is, dan kan je altijd via de batch oid een bestandje aanmaken met het resultaat
Heb je een voorbeeld wat je bedoelt?
Pim - op 26/03/2012 22:38:11:
De jQuery AJAX documentatie geeft toch voldoende info?
Heb je een link waar ik iets daarover zou kunnen vinden? Heb alleen een 'jquery broken link checker plugin' uit 2007 gevonden, maar die werkt weer met inladen van een php pagina. Zou het makkelijkste zijn als ik de pagina/script vanaf 't bureaublad kan opstarten zonder server, dus dan is php geen oplossing.
Ik heb intussen wat gevonden op Google, maar met mijn beperkte kennis van javascript is het lastig hier precies van te maken wat ik wil. Het schijnt ook niet te werken bij websites, maar alleen bij bestanden die op je eigen server staan? http://localhost/ vind ie dan weer wel, maar een lokaal IP adres weer niet.
Het is eigenlijk ook de bedoeling dat de url met GET kan worden aangegeven, maar ook dit krijg ik nog niet zoals t moet.
Iemand die me verder kan helpen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<script language="javascript" type="text/javascript">
http_check = getHTTPObject();
function getHTTPObject(){
//Create a boolean variable to check for a valid Internet Explorer instance.
var xmlhttp = false;
//Check if we are using IE.
try {
//If the Javascript version is greater than 5.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//If not, then use the older active x object.
try {
//If we are using Internet Explorer.
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
//Else we must be using a non-IE browser.
xmlhttp = false;
}
}
//If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function check_file(path_of_file)
{
http_check.open("HEAD", path_of_file);
http_check.onreadystatechange = handleHttpResponse_check;
http_check.send(null);
function handleHttpResponse_check()
{
if(http_check.readyState == 4){
if (http_check.status == 200) {
document.getElementById('check').innerHTML = 'Pagina gevonden.';
}else {
setTimeout("location.reload(true);",5000);
document.getElementById('check').innerHTML = 'Pagina niet gevonden. Probeert over 5 seconden opnieuw.';
}
}
}
}
</script>
<script language="javascript" type="text/javascript">
check_file('http://192.168.2.23');
</script>
<div id="check"></div>
http_check = getHTTPObject();
function getHTTPObject(){
//Create a boolean variable to check for a valid Internet Explorer instance.
var xmlhttp = false;
//Check if we are using IE.
try {
//If the Javascript version is greater than 5.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//If not, then use the older active x object.
try {
//If we are using Internet Explorer.
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
//Else we must be using a non-IE browser.
xmlhttp = false;
}
}
//If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function check_file(path_of_file)
{
http_check.open("HEAD", path_of_file);
http_check.onreadystatechange = handleHttpResponse_check;
http_check.send(null);
function handleHttpResponse_check()
{
if(http_check.readyState == 4){
if (http_check.status == 200) {
document.getElementById('check').innerHTML = 'Pagina gevonden.';
}else {
setTimeout("location.reload(true);",5000);
document.getElementById('check').innerHTML = 'Pagina niet gevonden. Probeert over 5 seconden opnieuw.';
}
}
}
}
</script>
<script language="javascript" type="text/javascript">
check_file('http://192.168.2.23');
</script>
<div id="check"></div>
Kun je niet uitleggen waarom het met PHP niet werkt? Wat voor machine is het, krijg je foutmeldingen met fsockopen, kun je niet gewoon exec('ping 192.168.2.23'); doen en het resultaat afvangen en uitlezen? More information please :)
Chris: Het gaat om een lokaal IP adres dat moet worden gecheckt en dat gaat niet met PHP vanaf een server en ik ga/kan/mag geen PHP server op de bedrijfs pc installeren. Ik moet dus iets hebben wat gewoon zo kan werken zonder installatie. Het liefst 1 html bestand met ajax/javascript waarmee ik het lokale IP adres ftp://192.168.1.20 en http://192.168.1.20 mee kan checken. Op 't moment dat 't IP adres 'online' is moet ie 't IP adres bezoeken. Pingen gaat niet, want het IP is wel gewoon te pingen maar zegt niks over of de site daarop ook al bereikbaar is. Anders had ik wel gewoon een eindeloze ping kunnen laten lopen.
Dus er draait op dat IP-adres wel een webserver? Dan kan je inderdaad met javascript (gewoon jQuery inladen in je html bestand) de pagina ophalen. Even eventueel met visualbasic?
Dat het kan weet ik ook wel, maar hoe ik het precies moet doen kom ik nog niet uit.
Zoek een ajax/javascript functie die de link uit de url (get) haalt en controleert op status 200ok, zo niet dan over paar seconden weer proberen, en zo wel dan naar die link toe gaan.
Iemand...
bump
Pepijn --- op 08/04/2012 08:08:38:
om ip op te halen?
http://www.robsdomein.nl/scripts/php_scripts/informatie/afkomst_bezoeker.php
werkt best goed
http://www.robsdomein.nl/scripts/php_scripts/informatie/afkomst_bezoeker.php
werkt best goed
Fijn dat er iemand reageert, maar dat was niet de vraag.
Wil je dit server-side dan kun je http://www.webmasterworld.com/php/3544745.htm proberen
een html bestand die gaat pollen naar een server om te kijken of die server online staat.
Daarentegen zeg je zelf dat je wilt dat er een html bestand komt die pollt naar een server om aan te geven dat ie beschikbaar is.
Het is 1 van de 2. Beide zijn mogelijk met AJAX, zonder PHP. Maar 1 ding, je kunt geen lokaal IP addres terug krijgen met javascript alleen.
Wat wel mogelijk is is dat je met een AJAX request een call maakt naar een willekeurige server van jou om daar vervolgens de IP addressen uit terug te filteren en dat als respons terug geeft ( als de status 200 is ). Op die manier kun je wel IP adressen in je javascript krijgen. Hoe dan ook, iets meer uitleg is handiger, omdat we dan nog specifieker in kunnen gaan op de materie wat jou uiteindelijk helpt.