-
Notifications
You must be signed in to change notification settings - Fork 0
/
getAISdata.php
36 lines (34 loc) · 1.33 KB
/
getAISdata.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
<?php ob_start();
/* a:3:{s:8:"latitude";d:60.1688;s:9:"longitude";d:24.939;s:6:"radius";i:5;}
*/
require_once("params.php");
$poi = '';
do{
$poi .= trim(fgets(STDIN));
}while(!feof(STDIN));
$poi = unserialize($poi);
//print_r($poi);
$url = $urlAISlocations;
if($poi) $url .= "?latitude={$poi['latitude']}&longitude={$poi['longitude']}&radius={$poi['radius']}";
$ch = curl_init();
// Оно всегда отдаёт в gzip, и не хочет отдавать, если просить не в gzip.
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept-Encoding: gzip, deflate, br',
'Cache-Control: no-cache',
'Connection: keep-alive'
));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, round($getDataTimeout/3));
curl_setopt($ch, CURLOPT_TIMEOUT, $getDataTimeout);
curl_setopt($ch, CURLOPT_URL,$url);
$AISlocations = curl_exec($ch);
$info = curl_getinfo($ch);
//print_r($info);
ob_end_clean();
if (curl_errno($ch) || substr($info['http_code'],0,1) !== '2') {
echo "Failed to get coordinates of AIS targets\n";
}
//else echo gzdecode($AISlocations); // это json. Ну, должен быть
else echo serialize(json_decode(gzdecode($AISlocations),true)); // оно, конечно, странно serialize(json_decode, но для единообразия
?>