Autor Zpráva
meiki
Profil
Zdravím,
chtěl bych si na svůj web umístit fotky, které mám uloženy na rajčeti. Než abych kopíroval URL každé fotky ručně, zjistil jsem, že rajče má API, ale to je pro španělská vesnice www.rajce.idnes.cz/static/doc/LiveApi.html Ovládám pouze HTML+CSS a mírně pokročile PHP. Takže se hloupě zeptám, jak odeslat níže uvedený požadavek a uložit ho do php proměnné, kterou přes cyklus normálně zobrazím. Alba jsou veřejná, takže žádné přihlášení nebude potřeba, id alba si umím zjistit ze zdrojového kódu. Díky

Výtah z odkazu:
Komunikace probíhá prostřednictvím protokolu HTTP. Vstupní bod pro komunikaci je http://www.rajce.idnes.cz/liveAPI/index.php. Požadavky se posílají metodou POST v položce jménem "data".

Požadavek:
<?xml version="1.0" encoding="utf-8"?>
<request>
 <command>getPhotoList</command>
  <parameters>
   <albumID>123456789</albumID> <!-- ID alba -->
   <columns> <!-- seznam sloupců, které chceme vrátit -->
       <column>imageUrl</column> <!-- url fotky v plné kvalitě (rozlišení není zaručeno) -->
   </columns>
  </parameters>
</request>
Loser
Profil *
Ahoj,
resim stejny problem. Dostal jsi se nekam? Z rajcete nikdo neodpovida (zatim)
MartinP
Profil *
Ahoj, v PHP už neprogramuji, ale mělo by stačit poslat POST request.
Podle http://stackoverflow.com/questions/5647461/how-do-i-send-a-post-request-with-php bych to udělal nějak takto:
$req = <<<REQ
<?xml version="1.0" encoding="utf-8"?>
<request>
 <command>getPhotoList</command>
  <parameters>
   <albumID>123456789</albumID> <!-- ID alba -->
   <columns> <!-- seznam sloupců, které chceme vrátit -->
       <column>imageUrl</column> <!-- url fotky v plné kvalitě (rozlišení není zaručeno) -->
   </columns>
  </parameters>
</request>
REQ;

$url = 'http://www.rajce.idnes.cz/liveAPI/index.php';
$data = array('data' => $req);

// use key 'http' even if you send the request to https://...
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);

var_dump($result);

Data pak nějak zpracuješ.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: