Difference between revisions of "LU-LSP-b12:L10"

From DiLab
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:


Uzrakstīt HTTP protokola klientu, kas konektējās pie web servera, nolasa web lapu un izdrukā uz ''stdout'' tās saturu.
Uzrakstīt HTTP protokola klientu, kas konektējās pie web servera, nolasa web lapu un izdrukā uz ''stdout'' tās saturu.

Lietošanas piemērs:
./pd10 195.13.158.2
Lietošanas piemērs, kad norāda arī portu:
./pd10 195.13.158.2 80


Var izmantot šīs ''includes'' (un arī citas):
Var izmantot šīs ''includes'' (un arī citas):

Latest revision as of 17:45, 4 December 2012

PD #10 - TCP klienta kods

Uzdevums

Uzrakstīt HTTP protokola klientu, kas konektējās pie web servera, nolasa web lapu un izdrukā uz stdout tās saturu.

Lietošanas piemērs:

./pd10 195.13.158.2

Lietošanas piemērs, kad norāda arī portu:

./pd10 195.13.158.2 80

Var izmantot šīs includes (un arī citas):

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdint.h>
#include <netinet/in.h>
#include <arpa/inet.h>

Funkcijas:

  • inet_aton
  • socket
  • connect
  • send vai write (pēc izvēles)
  • recv vai read (pēc izvēles)

HTTP protokola pieprasījuma paraugs: "GET / HTTP/1.0\r\n\r\n"

HTTP protokola atbildes paraugs: "HTTP/1.0 200 OK\r\n\r\n...lapas saturs..."

Jāizdrukā tikai lapas saturs, nevis HTTP protokola galvene!