Jörg Reinholz: Wayback, PHP Json

Beitrag lesen

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.

Ich bastle gerade an sowas:

<?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