| die letzten Änderungen * Seitenstruktur * Stichwortsuche :


logo_puschin.jpg

Startseite

Knowledge base



Kontakt

Impressum

Knowledge base - PHP

Knowledge base

5 Benutzer online Druckversion




zurück



PHP
PHP-Skript um bei geocaching.com alle Logs eines Caches abzurufen

Zunächst ruft man im Browser den betreffenden Cache auf und extrahiert aus dem Quelltext den Wert der Variable "userToken":


userToken = '4OB3GFH ...gekürzt... YQG7E6OS5INN7SQAJK77WUW7F553YTLX43SCXLQZHKVWXBNP3NKQ';



Danach ruft man das folgende Skript auf und zwar mit den Parametern 'userToken' und 'Cache GC-Nummer':


php -f getlogs.php 4OB3GFH ...gekürzt ...YQG7E6OS5INN7SQAJK77WUW7F553YTLX43SCXLQZHKVWXBNP3NKQ GC77



Achtung: Das Skript ist nur als Beispiel zu verstehen und gibt so wie es ist lediglich alle Logs mit Nickname aus!

getlogs.php

<?php
if ($_SERVER[argv][1] == "" || $_SERVER[argv][2] == "")
{
        echo "Bitte 'userToken' aus Cache-Listing und GC-Nummer übergeben.\n";
        die;
}

// Token wird hier uebergeben
//
$tkn=$_SERVER[argv][1];

// Cache muss auch uebergeben werden
//
$cache=$_SERVER[argv][2];

// Wir fangen bei Seite 1 an
//
$idx=1;

// und lassen uns 100 Logs geben
//
$num=100;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.geocaching.com/seek/geocache.logbook?tkn=$tkn&idx=$idx&num=$num&decrypt=false");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 60); //timeout in seconds

$seite = curl_exec($ch);

$mein_array=json_decode($seite, true);

//print_r($mein_array);

$total_pages=$mein_array[pageInfo][totalPages];

// Ich habe die Anzahl der Seiten in: [pageInfo][totalPages]
curl_close($ch);
for ($a=1; $a<$total_pages+1; $a++)
{
    echo "Ich hole mir Seite $a\n";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.geocaching.com/seek/geocache.logbook?tkn=$tkn&idx=$a&num=$num&decrypt=false");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60); //timeout in seconds
    $seite = curl_exec($ch);
    $mein_array=json_decode($seite, true);

    // Jetzt stehen die Logs in Array 0 bis 100
    for ($b=0; $b<$num; $b++)
    {
        //if ($mein_array[data][$b][LogID] != "" && $mein_array[data][$b][LogType] == "Found it")
        if ($mein_array[data][$b][LogID] != "")
        {
//print_r($mein_array);
            echo $mein_array[data][$b][UserName]."\n";
            echo $mein_array[data][$b][LogText]."\n";

            $created=slash2en($mein_array[data][$b][Created]);
            $visited=slash2en($mein_array[data][$b][Visited]);
        }
    }

    curl_close($ch);
}

function slash2en($datum)
{
    $exp=explode("/", $datum);
    return $exp[2]."-".$exp[0]."-".$exp[1];
}

?>


zurück



Knowledge base wurde zuletzt bearbeitet am 12.07.13 durch Frank

www.puschin.de
login

<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#000000' text='#000000'><font face='Verdana' size='2'><strong>www.puschin.de</strong><br>Die Webseite http://www.puschin.de bietet eine interessante Webseite zu vielen Themen aus dem Bereich Linux und Windows. Man findet hier Tipps und Tricks zu cms php apache postfix openxchange tomcat windows linux firewall <br><br><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=191'>Startseite</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=63'>Knowledge base</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=57'>Kontakt</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=9'>Impressum</a></body>