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

From DiLab
Jump to: navigation, search
 
Line 7: Line 7:
Lietošanas piemērs:
Lietošanas piemērs:
./pd10 195.13.158.2
./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 16: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!