Moin!
$json= @file_get_contents('http://archive.org/wayback/available?url=example.com');
Bitte nicht.
curl gibt Dir mehr Optionen (z.B. die Wartezeit zu begrenzen) und die Möglichkeit, auf Fehler zu reagieren.
<?php
$start=microtime(TRUE);
error_reporting(E_ALL);
define('SERVER_URL', 'https://localhost/Tests/key_value.cache.php?q=');
define('CHECK_SLL_ZERTIFIKAT', false);
define('CHECK_SLL_HOST', false);
define('CONTENT_TYPE', 'text/plain');
if (empty($_GET['q']) ) {
header('HTTP 400 Bad Request', true, 400);
header('Content-Type: ' . CONTENT_TYPE);
$d['ERROR_MSG']='Parameter q fehlt.';
echo json_encode($d);
exit;
}
$curl = curl_init();
curl_setopt_array( $curl, array (
CURLOPT_CERTINFO => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_URL => SERVER_URL . urlencode($_GET['q']),
CURLOPT_SSL_VERIFYPEER => CHECK_SLL_ZERTIFIKAT,
CURLOPT_SSL_VERIFYHOST => CHECK_SLL_HOST
));
$r = curl_exec($curl);
header('Content-Type: text/plain');
if ( ! empty($r) ) {
$r = json_decode($r, TRUE);
print_r($r);
echo "\n", "Benötigte Zeit: ", microtime(TRUE) - $start, " Sekunden";
} else {
echo curl_error($curl);
}
curl_close($curl);
Jörg Reinholz