Milyen idő lesz holnap? És holnapután?
Eszköztár
132 Kezdőlap - Webszerkesztés - PHP - Ingyenes API-k
ujdomainek.hu

Ingyenes API-k

Távolság, időjárás, holdfázis, valuta, domain

Jegyzet

Amikor webes munkáink során szükségünk lenne egy-egy jó API-ra, gyakran találkozhatunk azzal, hogy a számunkra izgalmas API-t olyan kereskedelmi oldalak kínálják, melyek a használatért díjat kérnek. Vagy ha nem is kérnek díjat, az ingyenes használatot akkor is regisztrációhoz kötik. Praktikusan azért, hogy az egy regisztrációhoz tartozó lekérdezések számát korlátozzák. Nincs ebben semmi rendkívüli, hiszen ezek az oldalak éppen az API kínálatukból szeretnének megélni. Ám mindez egyáltalán nem jelenti azt, hogy hasonló API-kat webprogramozóként mi magunk ne tudnánk készíteni. Akár fizetős helyett ingyenes változatban is. Vagy éppen korlátlan használatra. Vagy éppen olyan API-t, amit hiába kerestünk, nem találtunk... Ezen a lapon az infojegyzet.hu oldal által kínált ingyenes API-k összefoglalója és bemutatása olvasható, melyeket jellemzően a fenti gondolatmenet ihletett. Jelenleg az alábbi 6 API érhető el az oldalon:
  1. 1.   Közúti távolság két földrajzi hely között
  2. 2.   Időjárás előrejelzés
  3. 3.   Holdfázis
  4. 4.   Valutaváltás
  5. 5.   Domain foglaltság ellenőrzés
  6. 6.   Az infojegyzet.hu látogatottsága
1. Közúti távolság két földrajzi hely között A Google Maps grafikus felületén nagyon könnyen, és ingyenesen megtudhatjuk két tetszőleges pont között az útvonal hosszát, sőt akár az út megtételéhez szükséges időt is. Ám ha mindezt egy API-n keresztül szeretnénk megtenni, pl. hogy a lehetőséget beépíthessük valamely saját honlapunkba, akkor ehhez a Google a Distance Matrix API nevű termékét ajánlja. Természetesen nem ingyen.
Biztosan van, aki fizet is érte tényleg, pedig a Távolság API című oldalon korábban már áttekintettük, miként készíthetünk magunknak hasonló API-t, teljesen ingyen.
Az alábbiakban egy frontend felületen keresztül megnézzük, hogyan is használható ez az általunk készített API a gyakorlatban.

Indulási hely:

név szerint:
cím szerint:

Érkezési hely:

név szerint:
cím szerint:




Lekérdezés eredménye:

... ... ...
Hogyan működik?
Az API működésének leírása, alapvető elvei és kellékei a Távolság API című oldalon olvashatóak részletesen.

Hogyan kell használni?
A kipróbálás során tapasztalhatjuk, hogy az API mindössze két paramétert vár bemenetként: megadására szolgál - név szerint keresés, és cím szerinti keresés esetén egyaránt.

Név szerinti keresés esetén Cím szerint keresés esetén


Érdekességként, és tesztelésképpen nézzünk néhány esetet arra is, ahol két helyszín között a közúti távolság jóval nagyobb, mint a légvonalban mérhető távolság - vagyis amikor különböző okok miatt a kiindulási pontból a célpontba közúton eljutni csak jelentősebb kerülővel lehet: 2. Időjárás előrejelzés Ingyenes és regisztrációt sem igénylő meteorológiai API-t nem könnyű találni a neten, hiszen a meteorológiai előrejelzések készítése egyrészt költséges, másrészt piaci értékük fizetőképes keresletet jelent. Tanulmányi célra azonban az infojegyzet.hu az alábbi lehetőséget kínálja Budapest időjárásának előrejelzésére:
Tehát mivel az API tanulmányi célokat szolgál, így csupán egy leegyszerűsített változatot jelent a forrásul szolgáló, de regisztrációt igénylő weatherapi.com API-jához képest. Az egyszerűsítés az alábbiakban érhető tetten: Mint fentebb tapasztalhattuk, paraméterezés nélkül az API Budapest időjárási előrejelzését adja vissza, ám az alábbiak szerint paraméterezve csakugyan hozzáférhetünk az ország számos más pontjának várható időjárásához is:
  • https://api.infojegyzet.hu/idojaras/?varos=

Az időjárási API használatára mutat frontend lehetőséget a felhasználásával készült napinap.hu oldal is. 3. Holdfázis Időjárással, szabadidős programokkal, csillagászattal, asztrológiával, vagy bármi hasonló témával foglalkozó weboldalak esetén érdekes lehet tudni, vagy akár meg is jeleníteni, hogy aktuálisan éppen milyen holdfázist produkál a Nap, a Föld, és a Hold állása. Ennek elméleti alapjairól már volt szó az API végpontok létrehozása című oldal 4. pontjában. Ezúttal nézzük meg azt, hogyan is működhet egy ilyen API a valóságban!
https://api.infojegyzet.hu/holdfazis/
Vegyük észre, hogy ez az API nem csupán az adatait adja vissza az aktuális holdfázisnak, hanem még egy képet is mellékel róla - pontosabban annak a linkjét.
Hogyan történik a képrajzolás?
A holdfázis-képek nincsenek előre legyártva, tehát nem állnak rendelkezésre a tárhelyen, hanem mindig dinamikusan generálódnak. A hold aktuális fázisának elkészítéséhez az alábbi ábra adhatja az alapötletet, mely konkrétan a 75%-os fogyó hold rajzolásával mutatja meg, hogyan célszerű részekből összerakni a teljes képet,
míg a technikai megvalósításhoz a Képrajzolás című oldalra lehet érdemes ellátogatni.
A legtöbb API-hoz hasonlóan itt is van lehetőség paraméterezésre, mely a következő opciókat kínálja: Ez alapján akár az is érzékeltethető, hogy mennyit változik a holdfázis ma hajnali 1 óráról késő este 23 órára. Ehhez csak húzza rá az egeret a következő képre.
https://api.infojegyzet.hu/holdfazis/?ido=01:00
https://api.infojegyzet.hu/holdfazis/?ido=23:00
Az API forráskódja az alábbiakban tekinthető meg: 4. Valutaváltás Egy-egy webshop, vagy egyéb, termékeket forgalmazó weboldal esetén gyakori megoldás, hogy az eladásra kínált termékek árát nemcsak forintban, hanem euróban is - vagy éppen ellenkezőleg: az eurós árakat forintban is - feltüntetik... de akár más devizanem is érintett lehet az árazásban. Ennek megoldásához jól jöhet, ha az átváltást nem csupán egy árfolyamtáblázat használatával van lehetőség kiszámolni, hanem direkt módon áll rendelkezésünkre egy olyan API, ami konkrét összeg átszámítását is el tudja végezni. Ezt hivatott megvalósítani az alábbi API,
https://api.infojegyzet.hu/valuta/
mely paraméterek nélkül 1 eurót vált forintra (másként fogalmazva megadja az euró aktuális árfolyamát), ám paraméterezve tetszőleges összegű devizát képes átváltani bármilyen másik pénznembe az alábbiak mintájára, ahol pl. 1200 svájci frank árát szeretnénk megtudni forintban:
https://api.infojegyzet.hu/valuta/?amount=1200&from=CHF&to=HUF
Az egyes országokhoz tartozó valutakódokat, melyekkel az API dolgozik, az alábbi felsorolás listázza.



Az API hátteréül a korábban már tárgyalt api.coingecko.com/api/v3/exchange_rates ingyenes API szolgál, melynek számai a dokumentációja szerint 5 perces rendszerességgel frissülnek.

Feladat: Számíttassa ki az API-val, hogy 404 török líra hány fülöp-szigeteki pesót ér!  
5. Domain foglaltság ellenőrzés Vajon lehetséges-e olyan API-t készítenünk, amely megmondja, hogy szabad-e egy általunk keresett domain név? Vagy ha épp pont az nem, akkor ugyanaz a név egy másik TLD alatt?
Gyakori hiedelmeink szerint a domainek foglaltságáról információt szerezni csak a domain.hu oldalon, illetve a különböző regisztrátor cégek oldalain tudunk - mondván, ők tudhatják csak, mi került már bejegyzésre, és mi nem -, éppen ezért ilyen API készítésére nincs lehetőségünk. A valóságban azonban ez nem így van. Létezik ugyanis két PHP függvény, melyek megoldást jelenthetnek a problémára. Míg a checkdnsrr() annak megfelelően ad vissza igaz, vagy hamis értéket, hogy a paramétereként adott domainhez tartozik-e IP-cím, és DNS rekord, addig a dns_get_record() azt tudja megmondani, hogy milyen DNS rekordok tartoznak a hosztnévhez. Ezekből tehát nem túl bonyolult készítenünk olyan saját API-t, ami felsorolja nekünk, hogy az általunk keresett domain név mely TLD-k alatt foglalt, illetve szabad.
Ha pedig már készítünk ilyen API-t, akkor elegáns lehet némiképp többlet szolgáltatást is adni általa. Például felsorolni a domainhez bejegyzett rekordok típusait, valamint megadni a jellemző rekordoknak (pl. A, AAAA, SOA) a kiszolgáló szerverre vonatkozó tartalmát. Extra információként pedig .hu domainek esetén pedig, kihasználva az ujdomainek.hu adattárát, akár az adott domain történetére - vagyis a korábbi bejezések, illetve visszamondások dátumaira - is kínálhatunk közvetlen rálátást. Pontosan ezt teszi az alábbi végpont,
https://api.infojegyzet.hu/domain/
melynek a használatához egy q paraméterben csak a TLD nélküli domain nevet kell megadni. Például: A fentiek alapján elkészített API forráskódja ide kattintva érhető el. 6. Az infojegyzet.hu látogatottsága Amikor egy weboldal tulajdonosa a lapjainak egyes területeit reklámfelületként szeretné értékesíteni, akkor a potenciális reklámozókat érdekelni fogja a megjelenítő weboldal látogatottsága, hiszen ez jelentősen befolyásolja a reklámfelület értékét. Ennek okán a weboldal gazdájának valamilyen módon gondoskodnia kell arról, hogy a látogatottságra folyamatosan rálátással bírjanak a hirdetői. Ezt a rálátást biztosíthatja egy külső - hitelesnek tekintett - szolgáltató is, de akár a weboldal tulajdonosa is kínálhat ilyen jellegű statisztikát. Ez utóbbi megoldásra mutat példát az infojegyzet alábbi API-ja, mely óránként bontásban adja meg a mai nap látogatóinak, illetve lapletöltéseinek számát:
https://api.infojegyzet.hu/latogatottsag/
Az API természetesen nemcsak a mai nap adataival tud szolgálni, hanem 2020. elejéig visszamenően tetszőleges dátumra vonatkozóan is:
https://api.infojegyzet.hu/latogatottsag/?datum=2023-11-13
Izgalmas kérdés lehet a látogatottsági statisztikák esetén, hogy a közölt adatok mennyiben jelentik kizárólag a humán látogatók számát, vagy tartalmazzák-e esetleg a robot látogatók oldalletöltéseit is. Ez utóbbiak ugyanis a statisztikai adatok szempontjából nem korrektek, sőt kifejezetten nem kívánatos torzítást jelentenek - ha bennük szerepelnek. Jelen API esetén a robot látogatok kiszűrése az ezen a lapon ismertetett módszerekkel megtörténik, a közölt adatok tehát valóban csak a tényleges, emberi látogatókat összesítik.

előző oldal random oldal következő oldal


2025-03-26 08:55:42 Admin Köszönöm, ha Ön lesz az első, aki megírja ide véleményét, észrevételét, kérdését ezzel a lappal kapcsolatban.




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenhat + kilenc?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2025. március