Hi allemaal,

ik ben bezig met een nieuw project, waarbij ik afhankelijk ben van meerdere webservers binnen het intranet (deze servers zijn dus niet vanaf het internet te bereiken)

Hoe kan ik het beste een json GET request sturen naar een andere server om vervolgens de resultaten op mijn 'main' server te parsen en op te slaan in m'n database?

Het gaat hierbij om een json tabel van 1000+ records met 100 values

Overigens moet dit vanuit een cronjob gaan werken. Het zijn allemaal linux webservers

Ik heb nog geen demo draaien, en weet dus niet zeker of ik wel problemen ga krijgen, maar ben liever voorbereid en hoor ik mening van andere developers.

Is de $.getJSON() functie hier voldoende voor? Dit script zal elke 2 minuten herhalen

Ik lees hier en daar dat het wegens policies(browsers) dat dit niet mogelijk is, maar ik draai dit server-side en via cron-job.

Iemand enig ervaring hiermee, en/of advies waar ik rekening mee moet houden, enige aanpassingen aan apache ?

Ik hoor graag!
$.getJSON() is van jQuery wat client-side is. Cronjobs doen hier niks mee.

Kijk eens naar [php]json_encode[/php] en [php]json_decode[/php].
- Ariën - op 02/12/2015 20:21:00

$.getJSON() is van jQuery wat client-side is. Cronjobs doen hier niks mee.

Kijk eens naar [php]json_encode[/php] en [php]json_decode[/php].


(-_-) uiteraard, stom van me...
Ik kan de json request parsen enz. maar ik wil/moet dit server-side doen.
Het gaat om een monitoring project, om alle monitors als 1 geheel te weergeven en in een mooi jasje te stoppen om vervolgens een android en ios app van te maken ook

Hoe kan ik deze GET request server-side doen met cronjobs?
Je kan gewoon een url met GET-parameters inladen via file_get_contents()
Loop ik dan niet tegen problemen aan omdat ik van verschillende servers data pak? (ik gebruik file_get_contents nooit)
Anders kan ik wel een bash script maken en dan curl requests doen, maar dat is weer lastig met parsen in php :)

Ik ga hier morgen of overmorgen eens naar kijken om snel een testscript in elkaar te zetten en kijken waar ik tegenaan loop

Bedankt voor je reacties en tijd Ariën
Het zou kunnen. Ik weet niet welke URL het is. Maar als je de feed in de browser kan bekijken, lijkt mij dat er geen drempels zijn.

cURL kan ook in PHP overigens.
- Ariën - op 02/12/2015 20:34:40

Het zou kunnen. Ik weet niet welke URL het is. Maar als je de feed in de browser kan bekijken, lijkt mij dat er geen drempels zijn.

cURL kan ook in PHP overigens.


Het is een simpele php pagina dat een json array terug geeft op basis van een query in de GET

Ik weet van php cURL dat ik in apache aanpassingen moest maken om dit toe te staan naar andere servers
maar is al lang geleden. Misschien is dat veranderd

Overigens moet er wel ingelogd worden ( zo'n WWW-Auth pagina )
Als je firewall het toelaat, dan is het mogelijk. Standaard kan het gewoon.

Om een WWW-Auth te passeren, gebruik ikzelf dit:
[code]
<?php
$url = "http://www.example.org?id=31337&key=H4X0R";;
$username = "Pietje";
$password = "Puck";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
$result = curl_exec($ch);
curl_close($ch);
?>
Thanks Ariën! Werkt als een zonnetje!

Reageren