Avagy az oldal összerakásával terheljük inkább a látogató böngészőjét a szerver helyett.

Néha egész érdekes dolgokat lehet látni, ha az ember - szakmai ártalomból, vagy csak egyszerű kíváncsiságból - beleles egyes oldalak forrásába. Az ilyen oldalak közé tartozik a The World of Warcraft Armory is. Az első pillantásra elég bonyolultnak tűnő oldal mögött meglepően kicsi (5 soros) XML fájl van. Legalábbis látszólag. Természetesen az XSLT áll a dolog mögött, aminek a szerver oldali alkalmazásáról már réges-régen ejtettem pár szót. Nézzük akkor most meg, hogy kliens oldalon mit művelhetünk vele:

Tovább...

Kisebb-nagyobb kihagyás után ismét itt vagyok (vagy talán vagyunk). Egy munka során felmerült problémát, és a hozzá tartozó megoldásomat szeretném most megosztani. Arról már korábban volt szó, hogy hogyan használhatjuk a PHP 5 beépített SOAP osztályát, ha SOAP klienst vagy szervert szeretnénk üzemeltetni. Azonban mi van akkor, ha nem áll rendelkezésre PHP 5? Persze, ott a PEAR, de mivel nekem egyrészről nem volt szükségem a SOAP kliens által nyújtott minden szolgáltatásra és egyébként is inkább előnyben részesítem a saját kódot, ezért elő is bányásztam már porosodó cURL tudásomat, mivel a cURL kiterjesztés nagyban megkönnyíti a HTTP kérések küldését és a válaszok fogadását valamint a PHP 4-es verziójában is elérhető.

A feladat tehát, hogy az MNB SOAP alapú webszolgáltatását használva lekérjük az éppen aktuális árfolyamokat a PHP egy 4.4 feletti verziója segítségével. Az MNB-nél elég programozó-barátak ilyen téren, a http://www.mnb.hu/arfolyamok.asmx címen tulajdonképpen mindent megtudhatunk a szolgáltatás működéséről, kezdve attól, hogy milyen formátumú XML-t várnak tőlünk, addig, hogy milyen formátumút fogunk mi azért cserébe kapni. Természetesen a dolog nem ennyire szép, mivel csak a szabványos SOAP kérés-válasz van leírva, hogy az adatokat magukat milyen formátumban kapjuk, az nincs. Részletkérdés, úgyis látni fogjuk... :)

Tovább...

Miután Polaa belevetette magát a Google API rejtelmeibe, gondoltam megnézem, hogy a konkurens keresővállalatnál mi a helyzet ilyen téren. Természetesen létezik Yahoo! API is. Természetesen arra ne is gondoljunk, hogy a Google által használt megoldást valósították meg Ők is. Miért is tették volna? Tehát az előzőekben átnézett, megszeretett SOAP kódunkat a Yahoo! esetében dobhatjuk a kukába. No de nézzük mire is lesz szükségünk.

Először is, vadásznunk kell magunknak egy application id-t, amit majd minden kéréshez hozzá kell csatolnunk. Ehhez szükségünk lesz egy Yahoo! ID-re is, mert akkor már ugye növeljük a Yahoo! felhasználók táborát. Ha minden megvan, akkor igazából készen is vagyunk és kezdhetünk kódot írni. A kódoláshoz használtam a cURL kiterjesztést, mivel ez nagyban megkönnyíti a dolgunkat, de használhatnánk file_get_contents() függvényt, ha engedélyezve van a php.ini-ben az allow_url_fopen vagy pedig használhatjuk az fsockopen() függvényt is, ha lehetőségünk van rá.

Tovább...