LU-LSP-b12:L10

From DiLab
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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!