API application programming interface interfaa pentru programare de

  • Slides: 85
Download presentation
API application programming interface interfața pentru programare de aplicații

API application programming interface interfața pentru programare de aplicații

Noțiuni de bază O interfaţă de programare a aplicaţiilor (API) este o specificație (standard)

Noțiuni de bază O interfaţă de programare a aplicaţiilor (API) este o specificație (standard) destinată utilizării în calitate de o interfata între componente software pentru realizarea reușită a comunicării înte ele. API Program 1 Program 2

Noțiuni de bază O interfaţă de programare a aplicaţiilor (API) este o specificație (standard)

Noțiuni de bază O interfaţă de programare a aplicaţiilor (API) este o specificație (standard) destinată utilizării în calitate de o interfata între componente software pentru realizarea reușită a comunicării înte ele. Un API poate include: n specificaţii pentru proceduri; n structuri de date; n clase de obiecte; n variabile.

Noțiuni de bază O specificaţie API poate avea multe forme: - un standard internaţional

Noțiuni de bază O specificaţie API poate avea multe forme: - un standard internaţional (Microsoft Windows API); - documentaţia furnizor (bibliotecile unui limbaj de programare).

API pot fi: n Dependente de limbaj: - este disponibil numai prin utilizarea sintaxei

API pot fi: n Dependente de limbaj: - este disponibil numai prin utilizarea sintaxei şi elementelor unui anumit limbaj de programare, (ceea ce face API-ul mai ușor de creat).

API pot fi: n Independente de limbaj: scris astfel încât să pot fi apelate

API pot fi: n Independente de limbaj: scris astfel încât să pot fi apelate de mai multe limbaje de programare.

API pot fi: n Independente de limbaj Aceasta este o caracteristică de dorit pentru

API pot fi: n Independente de limbaj Aceasta este o caracteristică de dorit pentru un API orientate pe servicii care nu este legat la un proces specific sau de sistem şi poate fi prevăzut ca apeluri de proceduri la distanţă sau de servicii web.

API pot fi: n Independente de limbaj De exemplu, un site web care permite

API pot fi: n Independente de limbaj De exemplu, un site web care permite utilizatorilor să revizuiască restaurantele locale este în stare să unească clienţii săi cu harți luate de la Google Maps, pentru că Google Maps are un API care facilitează această funcţionalitate.

API pot fi: n Un API poate descrie modul în care o anumită sarcină

API pot fi: n Un API poate descrie modul în care o anumită sarcină se efectuează. În limbaje procedurale cum ar fi limbajul C, acţiunea este, de obicei, mediată de un apel de funcţie. Prin urmare, API-ul include o descriere a tuturor funcţiilor / procedurilor care îl oferă.

API pot fi: Comportamentul funcţiilor este, de obicei, descris în mai multe detalii într-un

API pot fi: Comportamentul funcţiilor este, de obicei, descris în mai multe detalii într-un format lizibil omului în cărţi tipărite sau în format electronic cum ar fi manuale.

Exemplu: man 3 sqrt va prezenta descrierea funcţiei sqrt în forma: SYNOPSIS X sqrtf

Exemplu: man 3 sqrt va prezenta descrierea funcţiei sqrt în forma: SYNOPSIS X sqrtf X DESCRIPTION: computes the positive square root of the argument. . On success the square root is returned. X is real and positive. . .

API în limbile obiect-orientate În limbile obiect-orientate un API include, de obicei, o descriere

API în limbile obiect-orientate În limbile obiect-orientate un API include, de obicei, o descriere a unui set de definiţii de clasă, cu un set de comportamente asociate cu aceste clase.

API biblioteci și frameworks Un API, de obicei este reprezentat ca o bibliotecă de

API biblioteci și frameworks Un API, de obicei este reprezentat ca o bibliotecă de software: API descrie şi prescrie comportamentul asteptat, în timp ce biblioteca este o implementare efectivă a acestui set de reguli.

API ca un protocol Un API poate fi, de asemenea, fi implementat ca un

API ca un protocol Un API poate fi, de asemenea, fi implementat ca un protocol. Diferenţa dintre un API şi un protocol: - protocolul defineşte o modalitate standard de schimb de cereri şi răspunsuri pe baza unei metode de transport şi a convenirii asupra formatului mesajului transmis; - un API este utilizată ca o bibliotecă accesată direct: nici o metodă de transport nu este implcată, doar schimb de informaţii prin apeluri de funcţii şi de date în formate exprimate într-o anumită limbă.

Web API utilizat în contextul Web este de obicei un set de mesaje de

Web API utilizat în contextul Web este de obicei un set de mesaje de interogare definit de Hypertext Transfer Protocol (HTTP), împreună cu o definiţie a structurii de mesaje de răspuns, care este de obicei reprezentată în Extensible Markup Language (XML) sau Java. Script Object Notation (JSON) format.

Web API este practic un sinonim pentru serviciul web Formate fiind: Simple Object Access

Web API este practic un sinonim pentru serviciul web Formate fiind: Simple Object Access Protocol (SOAP); Representational State Transfer (REST); ș. a. Web API-uri permit o combinaţie de mai multe servicii în aplicaţii noi cunoscut sub numele de mashup.

SOAP (Simple Object Access Protocol ) SOAP - Simple Object Access Protocol, este o

SOAP (Simple Object Access Protocol ) SOAP - Simple Object Access Protocol, este o specificaţie pentru schimbul de informaţii structurate în aplicarea Web Services Ea se bazează pe Extensible Markup Language (XML) pentru formatul mesajului său, şi pe protocoale de transmitere a datelor, mai ales Hypertext Transfer Protocol (HTTP) şi Simple Mail Transfer Protocol (SMTP), pentru transportarea mesajului. n

SOAP structura formatul mesajului

SOAP structura formatul mesajului

SOAP structura POST /In. Stock HTTP/1. 1 Host: www. example. org Content-Type: application/soap+xml; charset=utf-8

SOAP structura POST /In. Stock HTTP/1. 1 Host: www. example. org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 299 SOAPAction: "http: //www. w 3. org/2003/05/soap-envelope" <? xml version="1. 0"? > <soap: Envelope xmlns: soap="http: //www. w 3. org/2003/05/soapenvelope"> <soap: Header> </soap: Header> <soap: Body> <m: Get. Stock. Price xmlns: m="http: //www. example. org/stock"> <m: Stock. Name>IBM</m: Stock. Name> </m: Get. Stock. Price> </soap: Body> </soap: Envelope>

SOAP exemplu de interogare <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get.

SOAP exemplu de interogare <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get. Product. Details xmlns="http: //warehouse. example. com/ws"> <product. ID>12345</product. ID> </get. Product. Details> </soap: Body> </soap: Envelope>

SOAP exemplu de interogare <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get.

SOAP exemplu de interogare <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get. Product. Details xmlns="http: //warehouse. example. com/ws"> <product. ID>12345</product. ID> </get. Product. Details> </soap: Body> </soap: Envelope>

SOAP: exemplu de răspuns <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get.

SOAP: exemplu de răspuns <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get. Product. Details. Response xmlns="http: //warehouse. example. com/ws"> <get. Product. Details. Result> <product. ID>12345</product. ID> <product. Name>Стакан граненый</product. Name> <description>Стакан граненый. 250 мл. </description> <price>9. 95</price> <currency> <code>840</code> <alpha 3>USD</alpha 3> <sign>$</sign> <name>US dollar</name> <accuracy>2</accuracy> </currency> <in. Stock>true</in. Stock> </get. Product. Details. Result> </get. Product. Details. Response> </soap: Body> </soap: Envelope>

SOAP: exemplu de răspuns <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get.

SOAP: exemplu de răspuns <soap: Envelope xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <get. Product. Details. Response xmlns="http: //warehouse. example. com/ws"> <get. Product. Details. Result> <product. ID>12345</product. ID> <product. Name>Стакан граненый</product. Name> <description>Стакан граненый. 250 мл. </description> <price>9. 95</price> <currency> <code>840</code> <alpha 3>USD</alpha 3> <sign>$</sign> <name>US dollar</name> <accuracy>2</accuracy> </currency> <in. Stock>true</in. Stock> </get. Product. Details. Result> </get. Product. Details. Response> </soap: Body> </soap: Envelope>

Interogarea la Google API în baza SOAP Java. Script search="Word" xmlhttp. open("POST", "http: //api.

Interogarea la Google API în baza SOAP Java. Script search="Word" xmlhttp. open("POST", "http: //api. google. com/search/beta 2", true); xmlhttp. onreadystatechange=function() { if (xmlhttp. ready. State==4) { alert(xmlhttp. response. Text) } } xmlhttp. set. Request. Header("Man", "POST http: //api. google. com/search/beta 2 HTTP/1. 1") xmlhttp. set. Request. Header("Message. Type", "CALL") xmlhttp. set. Request. Header("Content-Type", "text/xml") xmlhttp. send("<? xml version='1. 0' encoding='UTF-8'? >"+"nn"+"<SOAP-ENV: Envelope"+ ' xmlns: SOAP-ENV="http: //schemas. xmlsoap. org/soap/envelope/"'+ ' xmlns: xsi="http: //www. w 3. org/1999/XMLSchema-instance"'+ ' xmlns: xsd="http: //www. w 3. org/1999/XMLSchema">'+ ‘ <SOAP-ENV: Body><ns 1: do. Google. Search'+ ' xmlns: ns 1="urn: Google. Search"'+ ' SOAPENV: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/">'+ ‘ <key xsi: type="xsd: string">GOOGLEKEY</key> <q'+ ' xsi: type="xsd: string">'+search+'</q> <start'+ ' xsi: type="xsd: int">0</start> <max. Results'+ ' xsi: type="xsd: int">10</max. Results> <filter'+ ' xsi: type="xsd: boolean">true</filter> <restrict'+ ' xsi: type="xsd: string"></restrict> <safe. Search'+ ' xsi: type="xsd: boolean">false</safe. Search> <lr'+ ' xsi: type="xsd: string"></lr> <ie'+ ' xsi: type="xsd: string">latin 1</ie> <oe'+ ' xsi: type="xsd: string">latin 1</oe>'+ ‘ </ns 1: do. Google. Search>'+ '</SOAP-ENV: Body></SOAP-ENV: Envelope>')

Interogarea la Google API în baza SOAP search="Word" xmlhttp. open("POST", http: //api. google. com/search/beta

Interogarea la Google API în baza SOAP search="Word" xmlhttp. open("POST", http: //api. google. com/search/beta 2", true); xmlhttp. onreadystatechange=function() { if (xmlhttp. ready. State==4) { alert(xmlhttp. response. Text) } } xmlhttp. set. Request. Header("Man", "POST http: //api. google. com/search/beta 2 HTTP/1. 1") xmlhttp. set. Request. Header("Message. Type", "CALL") xmlhttp. set. Request. Header("Content-Type", "text/xml") xmlhttp. send("<? xml version='1. 0' encoding='UTF 8'? >"+"nn"+"<SOAP-ENV: Envelope"+. . . . . >")

xmlhttp. send("<? xml version='1. 0' encoding='UTF-8'? >"+"nn"+"<SOAPENV: Envelope"+ ' xmlns: SOAPENV="http: //schemas. xmlsoap. org/soap/envelope/"'+

xmlhttp. send("<? xml version='1. 0' encoding='UTF-8'? >"+"nn"+"<SOAPENV: Envelope"+ ' xmlns: SOAPENV="http: //schemas. xmlsoap. org/soap/envelope/"'+ ' xmlns: xsi="http: //www. w 3. org/1999/XMLSchema-instance"'+ ' xmlns: xsd="http: //www. w 3. org/1999/XMLSchema">'+ ‘ <SOAP-ENV: Body><ns 1: do. Google. Search'+ ' xmlns: ns 1="urn: Google. Search"'+ ' SOAPENV: encoding. Style="http: //schemas. xmlsoap. org/soap/encoding/">'+ ‘ <key xsi: type="xsd: string">GOOGLEKEY</key> <q'+ ' xsi: type="xsd: string">'+search+'</q> <start'+ ' xsi: type="xsd: int">0</start> <max. Results'+ ' xsi: type="xsd: int">10</max. Results> <filter'+ ' xsi: type="xsd: boolean">true</filter> <restrict'+ ' xsi: type="xsd: string"></restrict> <safe. Search'+ ' xsi: type="xsd: boolean">false</safe. Search> <lr'+ ' xsi: type="xsd: string"></lr> <ie'+ ' xsi: type="xsd: string">latin 1</ie> <oe'+ ' xsi: type="xsd: string">latin 1</oe>'+ ‘ </ns 1: do. Google. Search>'+ '</SOAP-ENV: Body></SOAP-ENV: Envelope>')

REST Representational State Transfer În contrast cu SOAP servicii web pentru Web Services REST

REST Representational State Transfer În contrast cu SOAP servicii web pentru Web Services REST nu există nici un standard oficial.

REST Representational State Transfer În contrast cu SOAP servicii web pentru Web Services REST

REST Representational State Transfer În contrast cu SOAP servicii web pentru Web Services REST nu există nici un standard oficial. Acest lucru s-a întâmplat pentru că REST este o arhitectura, în timp ce SOAP este un protocol.

REST Representational State Transfer REST este o arhitectura, în timp ce SOAP este un

REST Representational State Transfer REST este o arhitectura, în timp ce SOAP este un protocol. Atom Publishing Protocol pentru publicarea blogurilor este considerat un canonic RESTful protocol

Atom Syndication Format Denumirea Atom se referă la o pereche de standarde. Atom Syndication

Atom Syndication Format Denumirea Atom se referă la o pereche de standarde. Atom Syndication Format este un limbaj XML folosit pentru feed-uri web, în timp ce Atom Publishing Protocol (Atom. Pub sau APP) este un protocol bazat pe HTTP pentru crearea şi actualizarea resurselor web.

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? >

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? > <feed xmlns="http: //www. w 3. org/2005/Atom"> <title>Мой блог</title> <subtitle>Самый лучший блог на свете</subtitle> <link href="http: //example. org/"/> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <author> <name>Иван Петров</name> <email>petrov@example. com</email> </author> <id>urn: uuid: 60 a 76 c 80 -d 399 -11 d 9 -b 91 C-0003939 e 0 af 6</id> <entry> <title>Фотографии из Африки</title> <link href="http: //example. org/2003/12/13/atom 03"/> <id>urn: uuid: 1225 c 695 -cfb 8 -4 ebb-aaaa-80 da 344 efa 6 a</id> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <summary>Я вернулся из Африки и выложил свои фотографии. . . </summary> </entry> </feed>

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? >

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? > <feed xmlns="http: //www. w 3. org/2005/Atom"> <title>Мой блог</title> <subtitle>Самый лучший блог на свете</subtitle> <link href="http: //example. org/"/> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <author> <name>Иван Петров</name> <email>petrov@example. com</email> </author> <id>urn: uuid: 60 a 76 c 80 -d 399 -11 d 9 -b 91 C-0003939 e 0 af 6</id> <entry> <title>Фотографии из Африки</title> <link href="http: //example. org/2003/12/13/atom 03"/> <id>urn: uuid: 1225 c 695 -cfb 8 -4 ebb-aaaa-80 da 344 efa 6 a</id> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <summary>Я вернулся из Африки и выложил свои фотографии. . . </summary> </entry> </feed>

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? >

exemplu de document in the Atom Syndication Format <? xml version="1. 0" encoding="utf-8"? > <feed xmlns="http: //www. w 3. org/2005/Atom"> <title>Мой блог</title> <subtitle>Самый лучший блог на свете</subtitle> <link href="http: //example. org/"/> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <author> <name>Иван Петров</name> <email>petrov@example. com</email> </author> <id>urn: uuid: 60 a 76 c 80 -d 399 -11 d 9 -b 91 C-0003939 e 0 af 6</id> <entry> <title>Фотографии из Африки</title> <link href="http: //example. org/2003/12/13/atom 03"/> <id>urn: uuid: 1225 c 695 -cfb 8 -4 ebb-aaaa-80 da 344 efa 6 a</id> <updated>2003 -12 -13 T 18: 30: 02 Z</updated> <summary>Я вернулся из Африки и выложил свои фотографии. . . </summary> </entry> </feed>

Datele ratelor valutelor de la Banca Națională din Moldova pot fi obținute în format

Datele ratelor valutelor de la Banca Națională din Moldova pot fi obținute în format XML http: //www. bnm. md/md/official_exchange_ra tes? get_xml=1&date=15. 04. 2013

Datele ratelor valutelor de la Banca Națională din Moldova pot fi obținute în format

Datele ratelor valutelor de la Banca Națională din Moldova pot fi obținute în format XML

Respectiv, datele acestea pot fi prelucrate după dorința utilizatorului http: //test 1. ru/opit 1_API.

Respectiv, datele acestea pot fi prelucrate după dorința utilizatorului http: //test 1. ru/opit 1_API. html <html> <head> <script type="text/javascript" src="loadxmldoc. js"> </script> <script type="text/javascript"> function ratele() { xml. Doc=load. XMLDoc("official_exchange_rates. xml"); x=xml. Doc. document. Element; textstring="<p>"+x. attributes[1]. node. Value+"  pentru data de   "+x. attributes[0]. node. Value+"</p>";

textstring=textstring+"<table border='1'><tr><td>cod</td><td>Valuta</td><td>Nominal</ td><td>Rata</td></tr>"; x 1=xml. Doc. get. Elements. By. Tag. Name("Valute"); for (i=0; i<x

textstring=textstring+"<table border='1'><tr><td>cod</td><td>Valuta</td><td>Nominal</ td><td>Rata</td></tr>"; x 1=xml. Doc. get. Elements. By. Tag. Name("Valute"); for (i=0; i<x 1. length; i++) { y=x 1[i]. child. Nodes; textstring=textstring+"<tr>"; textstring=textstring+"<td>"+y[1]. child. Nodes[0]. node. Value; textstring=textstring+"<td>"+y[3]. child. Nodes[0]. node. Value; textstring=textstring+"<td>"+y[2]. child. Nodes[0]. node. Value; textstring=textstring+"<td>"+y[4]. child. Nodes[0]. node. Value; textstring=textstring+"</tr>"; } textstring=textstring+"</table>"; document. get. Element. By. Id("rate"). inner. HTML=textstring; } </script>

</head> <body> <input type="submit" value="De afișat ratele de schimb" on. Click="ratele()"/> <p id="demo"> </p>

</head> <body> <input type="submit" value="De afișat ratele de schimb" on. Click="ratele()"/> <p id="demo"> </p> <div id="rate"> </div> </body> </html>

Rezultat http: //test 1. ru/opit 1_API. html

Rezultat http: //test 1. ru/opit 1_API. html

Respectiv datele acestea pot fi prelucrate după dorința utilizatorului http: //test 1. ru/get_rate_valute 4.

Respectiv datele acestea pot fi prelucrate după dorința utilizatorului http: //test 1. ru/get_rate_valute 4. php

Respectiv datele acestea pot fi prelucrate după dorința utilizatorului

Respectiv datele acestea pot fi prelucrate după dorința utilizatorului

Obținerea ratelor cu data curentă <? php // data curenta $current. Timestamp=time(); $data_curenta= date('Y-m-d

Obținerea ratelor cu data curentă <? php // data curenta $current. Timestamp=time(); $data_curenta= date('Y-m-d H: i: s', $current. Timestamp); list($year, $month, $day) = preg_split("/[s-]+/", $data_curenta); $shablon=$day. ". ". $month. ". ". $year; // echo $shablon. " "; $newxmlfilename="http: //www. bnm. md/md/official_exchange_rat es? get_xml=1&date=". $shablon; $xml. Doc = new DOMDocument(); $xml. Doc->load($newxmlfilename); $x = $xml. Doc->document. Element;

Afișarea listei valutelor <body> <form> <select name="valute" onchange="show. Rate(this. value)"> <option value="">Selecteaza valuta: </option>

Afișarea listei valutelor <body> <form> <select name="valute" onchange="show. Rate(this. value)"> <option value="">Selecteaza valuta: </option> <? php $valute = $xml. Doc->get. Elements. By. Tag. Name('Name'); foreach ($valute as $elem) { $g=$elem->node. Value; echo "<option value="". $g. "">". $g. "</option>"; } ? > </select> </form> <br /> <div id="txt. Hint">Rezultatul se va afisa aici</div> </body>

 <script type="text/javascript"> function show. Rate(str) { if (str=="") { document. get. Element. By.

<script type="text/javascript"> function show. Rate(str) { if (str=="") { document. get. Element. By. Id("txt. Hint"). inner. HTML=""; return; } if (window. XMLHttp. Request) {// code for IE 7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttp. Request(); } else {// code for IE 6, IE 5 xmlhttp=new Active. XObject("Microsoft. XMLHTTP"); } xmlhttp. onreadystatechange=function() { if (xmlhttp. ready. State==4 && xmlhttp. status==200) { document. get. Element. By. Id("txt. Hint"). inner. HTML=xmlhttp. response. Text; } } xmlhttp. open("GET", "get_rate_valute. php? q="+str, true); xmlhttp. send(); } </script>

 <? php $q=$_GET["q"]; http: //test 1. ru/get_rate_valute. php echo "<table border='1'><tr><td>cod</td><td>Valuta</td><td>Nominal</td><td>Rata< /td></tr>"; $xml.

<? php $q=$_GET["q"]; http: //test 1. ru/get_rate_valute. php echo "<table border='1'><tr><td>cod</td><td>Valuta</td><td>Nominal</td><td>Rata< /td></tr>"; $xml. Doc = new DOMDocument(); $xml. Doc->load("my_rate. xml"); $valuta = $xml. Doc->get. Elements. By. Tag. Name('Valute'); foreach ($valuta as $elem) { $v=$elem->get. Elements. By. Tag. Name('Name')->item(0)->node. Value; if($v == $q) { echo "<tr><td>"; echo $c=$elem->get. Elements. By. Tag. Name('Char. Code')->item(0)->node. Value; echo "</td><td>"; echo $v; echo "</td><center>"; echo $n=$elem->get. Elements. By. Tag. Name('Nominal')->item(0)->node. Value; echo "</center></td><center>"; echo $r=$elem->get. Elements. By. Tag. Name('Value')->item(0)->node. Value; echo "</center></td></tr></table>"; } } ? >

Descărcarea fișierului cu ratele de pe serverul băncii numai o dată pe zi http:

Descărcarea fișierului cu ratele de pe serverul băncii numai o dată pe zi http: //test 1. ru/get_rate_valute 6. php (http: //test 1. ru/get_rate_valute_. php) // citim xml doc care deja se afla in dir curent $xmlfilename="my_rate. xml"; if (file_exists ($xmlfilename)) { $flag=1; // fisier deja exista $fh = fopen($xmlfilename, "r"); $text=fread($fh, filesize($xmlfilename)); $string = substr($text, 54, 10); fclose($fh); } else $flag=0; //verificam data if($shablon == $string) echo ("data curenta ". $string. " "); else { $flag=0; }

Descărcarea fișierului cu ratele de pe serverul băncii numai o dată pe zi if($flag

Descărcarea fișierului cu ratele de pe serverul băncii numai o dată pe zi if($flag == 1) // fisier deja exista si este curent { $xml. Doc = new DOMDocument(); $xml. Doc->load($xmlfilename); $x = $xml. Doc->document. Element; } else // daca documentul este vechi { $newxmlfilename="http: //www. bnm. md/md/official_exchange_rat es? get_xml=1&date=". $shablon; $xml. Doc = new DOMDocument(); $xml. Doc->load($newxmlfilename); $x = $xml. Doc->document. Element; $file=fopen($xmlfilename, "w") or exit("Unable to open file!"); fwrite($file, $xml. Doc->save. XML()); fclose($file);

Gismeteo API (XML) <? xml version="1. 0" encoding="utf-8" ? > - <MMWEATHER> - <REPORT

Gismeteo API (XML) <? xml version="1. 0" encoding="utf-8" ? > - <MMWEATHER> - <REPORT type="frc 3"> - <TOWN index="33815" sname="%CA%E 8%F 8%ED%E 5%E 2" latitude="47" longitude="28"> - <FORECAST day="14" month="12" year="2011" hour="20" tod="3" predict="0" weekday="4"> <PHENOMENA cloudiness="3" precipitation="10" rpower="0" spower="0" /> <PRESSURE max="756" min="754" /> <TEMPERATURE max="8" min="6" /> <WIND min="2" max="4" direction="3" /> <RELWET max="95" min="93" /> <HEAT min="5" max="7" />

http: //informer. gismeteo. ru/ n În cîteva click-uri se obține un informer grafic

http: //informer. gismeteo. ru/ n În cîteva click-uri se obține un informer grafic

Wikipedia API http: //www. mediawiki. org/wiki/API: Main_page/ru Există trei interfeţe de Media. Wiki: Media.

Wikipedia API http: //www. mediawiki. org/wiki/API: Main_page/ru Există trei interfeţe de Media. Wiki: Media. Wiki API, care oferă un acces uşor la funcţiile de wiki-uri, date şi meta-date. Pagina Special: Export: oferă un export al conţinutului wiki direct în XML. Interfata web: Informaţii despre folosirea interfeţei web este pe http: //www. mediawiki. org/wiki/Manual: Parameters_t o_index. php

Wikipedia API Media. Wiki API suportă formate de ieşire diverse: XML, JSON, YAML, .

Wikipedia API Media. Wiki API suportă formate de ieşire diverse: XML, JSON, YAML, . . . , precum şi unele formate speciale RSS, . . . pentru module speciale. http: //www. mediawiki. org/wiki/API: Data_formats

Wikipedia API Format XML api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=xmlfm <? xml version="1. 0" encoding="utf-8"?

Wikipedia API Format XML api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=xmlfm <? xml version="1. 0" encoding="utf-8"? > <api> <query> <pages> <pageid="736" ns="0" title="Albert Einstein" touched="2007 -0706 T 04: 37: 30 Z" lastrevid="142335140" counter="4698" length="86906" /> </pages> </query> </api>

Wikipedia API Format JSON api. php ?  action=query & titles=Albert%20 Einstein & prop=info  & format=jsonfm { "query": { "pages": {

Wikipedia API Format JSON api. php ?  action=query & titles=Albert%20 Einstein & prop=info  & format=jsonfm { "query": { "pages": { "736": { "pageid": 736, "ns": 0, "title": "Albert Einstein", "touched": "2007 -07 -06 T 04: 37: 30 Z", "lastrevid": 142335140, "counter": 4698, "length": 86906 } }

Wikipedia API Format WDDX api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=wddxfm <? xml version="1. 0" encoding="utf-8"?

Wikipedia API Format WDDX api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=wddxfm <? xml version="1. 0" encoding="utf-8"? > <wddx. Packet version="1. 0"> <header/> <data> <struct> <var name="query"> <struct> <var name="pages"> <struct> <var name="736"> <struct> <var name="pageid"> <number>736</number> </var> . . . . </var> </struct> </data> </wddx. Packet>

Wikipedia API Format PHP api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=phpfm a: 1: {s: 5: "query";

Wikipedia API Format PHP api. php ?  action=query & titles=Albert%20 Einstein &  prop=info & format=phpfm a: 1: {s: 5: "query"; a: 1: {s: 5: "pages"; a: 1: {i: 736; a: 7: {s: 6: "pageid"; i: 736; s: 2: "ns"; i: 0; s: 5: "title"; s: 15: "Albert Einstein"; s: 7: "touched"; s: 20: "2007 -07 -06 T 04: 37: 30 Z"; s: 9: "lastrevid"; i: 142335140; s: 7: "counter"; i: 4698; s: 6: "length"; i: 86906; }}}}

Wikipedia API http: //en. wikipedia. org/w/api. php

Wikipedia API http: //en. wikipedia. org/w/api. php

Wikipedia API http: //en. wikipedia. org/wiki/Special: Api. Sandbox

Wikipedia API http: //en. wikipedia. org/wiki/Special: Api. Sandbox

Wikipedia API structura bazei de date

Wikipedia API structura bazei de date

Wikipedia: Creating a bot Roboţi sau boți sunt procese automate care interacţionează cu Wikipedia

Wikipedia: Creating a bot Roboţi sau boți sunt procese automate care interacţionează cu Wikipedia (şi alte proiecte Wikimedia), ca şi cum acestea au fost editori umani.

Wikipedia: Creating a bot Roboţi sau boți sunt procese automate care interacţionează cu Wikipedia

Wikipedia: Creating a bot Roboţi sau boți sunt procese automate care interacţionează cu Wikipedia (şi alte proiecte Wikimedia), ca şi cum acestea au fost editori umani. Boți pot efectua unele operații mecanice mult mai repede decât oamenii. Ei sunt folosite pentru sarcini simple care trebuie să fie repetate o mulţime de ori, de exemplu, schimbări identice pentru sute de pagini.

Wikipedia: Creating a bot Boti pot efectua unele operații mecanice mult mai repede decât

Wikipedia: Creating a bot Boti pot efectua unele operații mecanice mult mai repede decât oamenii. Este mai simplu de a solicita o sarcină de la bot existent. Aceste cereri pot fi facute la Wikipedia: Bot cereri. În plus, există o serie de semi-boti disponibile pentru oricine.

 APIs n n Ad. Sense este o aplicație de publicitate de la Google.

APIs n n Ad. Sense este o aplicație de publicitate de la Google. Proprietarii de site-uri se pot înscrie în program și pot afișa reclame de tip text, imagine sau video pe site-urile personale. Aceste reclame sunt administrate de Google și generează venituri fie pe click fie pe afișare. Google a câștigat un profit de 2. 34 miliarde dolari în primul semestru al anului 2011.

 APIs n n Ad. Sense este o aplicație de publicitate de la Google.

APIs n n Ad. Sense este o aplicație de publicitate de la Google. Pentru a posta reclame, webmaster-ii trebuie să introducă un scurt script pe paginile siteului. Sursa de venit a programului Ad. Sense este programul Ad. Words, care un sistem complex de taxare per click bazat pe o licitație. La ora actuală, Google împarte 68% din profitul generat de Ad. Sense cu partenerii programului.

 APIs n n n Google Traducere (Google Translate), creat și întreținut de Google,

APIs n n n Google Traducere (Google Translate), creat și întreținut de Google, este un serviciu online de traducere gratuit, ce permite traducerea unei secțiuni de text, sau pagină web, într-o altă limbă. Google Translate API v 2 este acum disponibilă ca un serviciu plătit, numărul de cereri de aplicaţia dumneavoastră pe zi este limitat. Pentru traduceri site-ul web se recomandă de utilizat Google Translator Gadget Website.

 APIs Google Translate API v 2 utilizează metoda REST. n Rezultatul cererii de

APIs Google Translate API v 2 utilizează metoda REST. n Rezultatul cererii de Translate API este un obiect JSON. n Apel la Google Translate API se efectuiază prin trimiterea unui HTTP GET la URI cu următorul format: https: //www. googleapis. com/language/translat e/v 2? parameters Parameters includ: n API key. n Target language. Target=“language” n Source text string. q=“string to translate”. n

 APIs Google Translate exemplu: Interogarea: GET https: //www. googleapis. com/language/ translate/v 2? key=INSERT-YOURKEY&source=en&target=de&q=Hello%2

APIs Google Translate exemplu: Interogarea: GET https: //www. googleapis. com/language/ translate/v 2? key=INSERT-YOURKEY&source=en&target=de&q=Hello%2 0 world n

 APIs Interogarea: GET https: //www. googleapis. com/language/ translate/v 2 ? key=INSERT-YOUR-KEY & source=en

APIs Interogarea: GET https: //www. googleapis. com/language/ translate/v 2 ? key=INSERT-YOUR-KEY & source=en & target=de & q=Hello%20 world

 APIs Google Translate exemplu: Răspuns (JSON): 200 OK { "data": { "translations": [

APIs Google Translate exemplu: Răspuns (JSON): 200 OK { "data": { "translations": [ { "translated. Text": "Hallo Welt“ } ] } } n

 APIs Google Maps este o aplicaţie de web serviciu furnizat de Google gratuit

APIs Google Maps este o aplicaţie de web serviciu furnizat de Google gratuit utilizat ulterior de alte servicii web inclusiv Google Ride Finder, Google Transit, şi hărţi utilizate de alte site-uri prin intermediul Google Maps API.

 APIs Google Maps API permite încorporarea Google Maps în paginile web cu Java.

APIs Google Maps API permite încorporarea Google Maps în paginile web cu Java. Script. API oferă o serie de unelte pentru gestionarea hărților (ca pe http: //maps. google. com) şi adăugarea de conţinut la hărţi printr-o varietate de servicii care permit crearea aplicatii pe baza hărților.

 maps Exemplu: <!DOCTYPE html> <head> <meta name="viewport" content="initial-scale=1. 0, user-scalable=no" /> <style type="text/css">

maps Exemplu: <!DOCTYPE html> <head> <meta name="viewport" content="initial-scale=1. 0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map_canvas { height: 100% } </style> <script type="text/javascript" src="http: //maps. googleapis. com/maps/api/js? key=YOUR_API_KEY&se nsor=SET_TO_TRUE_OR_FALSE"> </script>

 maps <script type="text/javascript"> function initialize() { var latlng = new google. maps. Lat.

maps <script type="text/javascript"> function initialize() { var latlng = new google. maps. Lat. Lng(-34. 397, 150. 644); var my. Options = { zoom: 8, center: latlng, map. Type. Id: google. maps. Map. Type. Id. ROADMAP }; var map = new google. maps. Map(document. get. Element. By. Id("map_canvas"), my. Options); } </script> </head> <body onload="initialize()"> <div id="map_canvas" style="width: 100%; height: 100%"></div> </body> </html>

 maps

maps

 APIs Google Maps http: //maps. google. com/help/maps/getmaps Permite obținerea fragmentului hărții pentru plasarea

APIs Google Maps http: //maps. google. com/help/maps/getmaps Permite obținerea fragmentului hărții pentru plasarea ulterioară pe site

Amazon API Amazon's Product Advertising API, fostă Amazon Associates Web Service (A 2 S)

Amazon API Amazon's Product Advertising API, fostă Amazon Associates Web Service (A 2 S) înainte de această Amazon E-Commerce Service (ECS), este un serviciu web cu aplicarea interfaţa de programare API care oferă programatorilor cerere de acces la datele cu catalogul complet de produse Amazon. Accesibil prin intermediul fie protocoalele SOAP sau REST acesta permite vizualizarea sau vinderea produselor prin diferite site-uri şi aplicaţii. Este o parte din Amazon Web Services (AWS). n

Amazon API Amazon's Product Advertising API oferă următoarele posibilități: n n n Accesul la

Amazon API Amazon's Product Advertising API oferă următoarele posibilități: n n n Accesul la Catalog Amazon de marfuri: acces la baza de date a produselor Amazon Acces la API Publicitate: ofera clientului acces la baza de date Amazon a recenziilor vânzătorilor și cumparatorilor; Afişează imaginilor produselor: afişează imaginile produselor de pe www. amazon. com

Amazon API

Amazon API

Example of Amazon API request in PHP <? php //Enter your IDs define("Access_Key_ID", "[Your

Example of Amazon API request in PHP <? php //Enter your IDs define("Access_Key_ID", "[Your Access Key ID]"); define("Associate_tag", "[Your Associate Tag ID]"); //Set up the operation in the request function Item. Search($Search. Index, $Keywords){ //Set the values for some of the parameters. $Operation = "Item. Search"; $Version = "2010 -11 -01"; $Response. Group = "Item. Attributes, Offers";

Example of Amazon API request in PHP //User interface provides values for $Search. Index

Example of Amazon API request in PHP //User interface provides values for $Search. Index and $Keywords //Define the request $request= "http: //ecs. amazonaws. com/onca/xml". "? Service=AWSECommerce. Service". "&Associate. Tag=". Associate_tag. "&AWSAccess. Key. Id=". Access_Key_ID. "&Operation=". $Operation. "&Version=". $Version. "&Search. Index=". $Search. Index. "&Keywords=". $Keywords. "&Signature=". [Request Signature]. "&Response. Group=". $Response. Group; //Catch the response in the $response object $response = file_get_contents($request); $parsed_xml = simplexml_load_string($response); print. Search. Results($parsed_xml, $Search. Index); } ? >

Example of Amazon API request in PHP a form for user for entering request

Example of Amazon API request in PHP a form for user for entering request parameters <table align='left'> <? php print(" <form name='Search. Terms' action=Simple. Store. php method='GET'> <tr><td valign='top'> <b>Choose a Category</b> <select name='Search. Index'> <option value='Books'>Books</option> <option value='DVD'>DVD</option> <option value='Music'>Music</option> </select> </td></tr> <tr><td><b>Enter Keywords</b> <input type='text' name='Keywords' size='40'/></td></tr> <input type='hidden' name='Action' value='Search'> <input type='hidden' name='Cart. Id' value=$Cart. Id> <input type='hidden' name='HMAC' value=$HMAC> <tr align='center'><td><input type='submit'/></td></tr> </form> "); ? > </table>

Example of Amazon API request in PHP analiza răspunsului un fragment de răspuns la

Example of Amazon API request in PHP analiza răspunsului un fragment de răspuns la interogarea: <Item> <Offers> <Subtotal> <Amount>999</Amount> <Currency. Code>US</Currency. Code> <Formatted. Price>$9. 99</Formatted. Price> Exemplu de acces la prețul produsului în PHP: if(isset($current->Item->Offers->Subtotal>Formatted. Price)){ print(" Price: " $current>Offers->Subtotal->Formatted. Price);

Example of Amazon API request in PHP analiza răspunsului <? php function print. Search.

Example of Amazon API request in PHP analiza răspunsului <? php function print. Search. Results($parsed_xml, $Search. Index){ print("<table>"); if($num. Of. Items>0){ foreach($parsed_xml->Items->Item as $current){ print("<td><font size='-1'><b>". $current->Item. Attributes>Title. "</b>"); if (isset($current->Item. Attributes->Title)) { print(" Title: ". $current->Item. Attributes->Title); } elseif(isset($current->Item. Attributes->Author)) { print(" Author: ". $current->Item. Attributes->Author); } elseif (isset($current->Offers->Offer->Price->Formatted. Price)){ print(" Price: ". $current->Offers->Offer->Price->Formatted. Price); }else{ print("<center>No matches found. </center>"); } } } } ? >

Amazon Elastic Compute Cloud (EC 2) n EC 2 este un element central al

Amazon Elastic Compute Cloud (EC 2) n EC 2 este un element central al platformei de calcul (cloud computing) Amazon. com, Amazon Web Services (AWS). EC 2 permite utilizatorilor să închirieze calculatoare virtuale pe care să ruleze aplicaţiile lor proprii. EC 2 permite implementarea aplicaţiilor scalabile, oferind un serviciu web prin care un utilizator poate crea o maşină virtuală, pe care Amazon consideră o "instanţă", ce conţine orice software dorit. Un utilizator poate crea, porni şi termina instanțe după necesitate, plata este efectuată pe ore pentru instanțe active, de aici și termenul "elastic".

Amazon S 3 (Simple Storage Service) n n Amazon S 3 (serviciu de stocare

Amazon S 3 (Simple Storage Service) n n Amazon S 3 (serviciu de stocare simplă) este un serviciu de stocare online oferit de Amazon Web Services. Amazon S 3 oferă spaţiu de stocare prin intermediul serviciilor web interfeţe (REST, SOAP, şi Bit. Torrent). La început Amazon obținea de la utilizatori $0, 15 pe gigabyte, cu taxe suplimentare pentru trimiterea şi primirea datelor.