LU-LSP-b12:L10

From DiLab
Revision as of 16:45, 4 December 2012 by Atis (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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!