Извлечение диапазонов CIDR IP из удаленного файла JSON через переполнение стека

В настоящее время я работаю над чем-то, и мне нужно извлечь все диапазоны IP-адресов (перечисленные в формате CIDR) на странице.

Вот пример URL, чтобы проиллюстрировать задачу:

https://stat.ripe.net/data/registry-browser/data.json?include_backward_refs=1&preferred_version = 0,3&ресурс = AS28961&use_live_lookups = 1

Я знаю, как открыть файл удаленно и проанализировать JSON, мне просто нужно найти диапазоны IP-адресов в массиве и вывести их в файл.

-2

Решение

Грубый Готов, но, кажется, извлечь желаемый контент — если не сомневаюсь, несколько мелких настроек увидят вас правильно.

    $url='https://stat.ripe.net/data/registry-browser/data.json?include_backward_refs=1&preferred_version=0.3&resource=AS28961&use_live_lookups=1';
$data=file_get_contents( $url );
$json=json_decode( $data );

$backrefs=$json->data->backward_refs;
foreach( $backrefs as $backref ){
$fields=$backref->fields;
printf('<pre>%s</pre>',print_r( $fields[0]->value, true ));
}

Выход:

193.228.63.0/24
195.39.226.0/23
2001:67c:594::/48

Для вывода в файл

$filename = __DIR__ . '/cidr.txt'; /* change as appropriate */

$url='https://stat.ripe.net/data/registry-browser/data.json?include_backward_refs=1&preferred_version=0.3&resource=AS28961&use_live_lookups=1';
$data=file_get_contents( $url );
$json=json_decode( $data );

$backrefs=$json->data->backward_refs;
foreach( $backrefs as $backref ){
$fields=$backref->fields;
file_put_contents( $filename, $fields[0]->value . PHP_EOL, FILE_APPEND );
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]