Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pc:laboratoare:10 [2022/05/09 17:12]
vlad_andrei.badoiu [Exerciții]
pc:laboratoare:10 [2022/05/15 10:55] (current)
vlad_andrei.badoiu [Exerciții]
Line 112: Line 112:
 Cookie: c_user=XXXXXXXXXX;​ presence=XXXXXXX\r\n Cookie: c_user=XXXXXXXXXX;​ presence=XXXXXXX\r\n
 \r\n \r\n
 +</​code>​
 +
 +Exemplu foarte simplu de POST.
 +<code HTTP>
 +POST /test HTTP/1.1
 +Host: foo.example
 +Content-Type:​ application/​x-www-form-urlencoded
 +Content-Length:​ 27
 +
 +field1=value1&​field2=value2
 </​code>​ </​code>​
  
Line 188: Line 198:
 Pornind de la codul disponibil [[https://​gitlab.cs.pub.ro/​protocoale-de-comunicatie/​pcom-laboratoare-public/​-/​tree/​bogdan_costel.mocanu-master-patch-08393/​lab10|aici]],​ aveți de implementat următoarele cerințe: Pornind de la codul disponibil [[https://​gitlab.cs.pub.ro/​protocoale-de-comunicatie/​pcom-laboratoare-public/​-/​tree/​bogdan_costel.mocanu-master-patch-08393/​lab10|aici]],​ aveți de implementat următoarele cerințe:
  
-  - Implementati folosind instrucțiunile din îndrumarul de laborator o cerere dummy de tip GET pentru adresa __///​api/​v1/​dummy//​__ de la serverul principal. +1. Implementati folosind instrucțiunile din îndrumarul de laborator o cerere dummy de tip GET pentru adresa __///​api/​v1/​dummy//​__ de la serverul principal. 
-<​note>​+<​note> ​
 Gasiti [[https://​www.cloudshark.org/​captures/​83390916ab62|aici]] un exemplu de request GET. Gasiti [[https://​www.cloudshark.org/​captures/​83390916ab62|aici]] un exemplu de request GET.
 </​note>​ </​note>​
-  - Implementati folosind instrucțiunile din îndrumarul de laborator o cerere dummy de tip POST pentru adresa __///​api/​v1/​dummy//​__ de la serverul principal cu cu orice conținut pentru date de forma **application/​x-www-form-urlencoded**.+ 
 +2. Implementati folosind instrucțiunile din îndrumarul de laborator o cerere dummy de tip POST pentru adresa __///​api/​v1/​dummy//​__ de la serverul principal cu cu orice conținut pentru date de forma **application/​x-www-form-urlencoded**.
 <​note>​ <​note>​
-Gasiti [[https://​www.cloudshark.org/​captures/​74a6deb7aa4e?​filter=http.request.method%20%3D%3D%20%22POST%22|aici]] o captura cu mesaje de tip POST+Gasiti [[https://​www.cloudshark.org/​captures/​74a6deb7aa4e?​filter=http.request.method%20%3D%3D%20%22POST%22|aici]] o captura cu mesaje de tip POST. Mai multe detalii despre POST gasiti [[https://​developer.mozilla.org/​en-US/​docs/​Web/​HTTP/​Methods/​POST|aici]]
 </​note>​ </​note>​
-  - Ne propunem implementarea unei mecanims de autentificare. Implementați folosind instrucțiunile din îndrumarul de laborator o cerere de tip POST pentru adresa __///​api/​v1/​auth/​login//​__ de pe serverul principal folosind **username** //student// si **password** //​student//​. Similar cu task-ul precedent datele trebuie să fie de forma **application/​x-www-form-urlencoded**. + 
-  ​- ​Folosind cookie-ul obtinut la pasul precedent, care poate fi **hardcodat**,​ implmentați o cerere de tip GET către adresa __///​api/​v1/​weather/​key//​__ a serverului principal pentru a obține un cheia de conectare la serverul __//​34.241.4.235//​__. +3. Ne propunem implementarea unei mecanims de autentificare. Implementați folosind instrucțiunile din îndrumarul de laborator o cerere de tip POST pentru adresa __///​api/​v1/​auth/​login//​__ de pe serverul principal folosind **username** //student// si **password** //​student//​. Similar cu task-ul precedent datele trebuie să fie de forma **application/​x-www-form-urlencoded**. 
-  - Folosind cheia de sesiune, implmentați o cerere de tip **GET** la serverul //​Openweather Map// cu adrese __///​data/​2.5/​weather//​__ pentru a obține datele despre vreme. Pentru acest task trebuie specificate coordonatele (lat,long) pentru care se dorește obținerea datelor. + 
-  ​- ​Cu date obținute la punctul precedent, implementați o cerere de tip **POST** la serverul principal pentru verificarea. Pentru acest task trebuie să țineți cont de faptul că datele servite de serverul //​Openweather Map// sunt în format **JSON**. +4. Folosind cookie-ul obtinut la pasul precedent, care poate fi **hardcodat**,​ implmentați o cerere de tip GET către adresa __///​api/​v1/​weather/​key//​__ a serverului principal pentru a obține un cheia de conectare la serverul __//​34.241.4.235//​__. 
-  ​- ​Implementați o cerere de tip GET către serverul principal pentru efectuarea delogări (LogOut).+ 
 +<​note>​ 
 +Gasiti [[https://​developer.mozilla.org/​en-US/​docs/​Web/​HTTP/​Cookies|aici]] un exemplu de mesaj GET cu cookie]]. 
 +</​note>​ 
 + 
 +5. Folosind cheia de sesiune, implmentați o cerere de tip **GET** la serverul //​Openweather Map// cu adrese __///​data/​2.5/​weather//​__ pentru a obține datele despre vreme. Pentru acest task trebuie specificate coordonatele (lat,lon) pentru care se dorește obținerea datelor. 
 + 
 +6. Cu date obținute la punctul precedent, implementați o cerere de tip **POST** la serverul principal ​(34.241.4.235) ​pentru verificarea. Pentru acest task trebuie să țineți cont de faptul că datele servite de serverul //​Openweather Map// sunt în format **JSON**. 
 + 
 +7. Implementați o cerere de tip GET către serverul principal pentru efectuarea delogări (LogOut) ​la ''/​api/​v1/​auth/​logout''​
  
  
Line 209: Line 229:
  
  
 +<​note>​
 +O posibila solutie a laboratorului se gaseste [[https://​ocw.cs.pub.ro/​courses/​_media/​pc/​laboratoare/​lab10-sol.zip|aici]]
 +</​note>​
  
  
pc/laboratoare/10.1652105561.txt.gz · Last modified: 2022/05/09 17:12 by vlad_andrei.badoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0