Milan Roubal :c-cko socket(), HTTP, POST poziadavok
Robert Vojta
robert na v0jta.net
Pátek Únor 8 20:47:01 CET 2002
ftp://atrey.karlin.mff.cuni.cz/pub/rfc/www/ a nebo si to opravte podle
tohoto ...
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/param.h>
#define BUFFER_SIZE 1024
#define HOST_IP "127.0.0.1"
#define PORT 80
#define REQUEST \
\
"POST http://localhost/~vojta/a.php HTTP/1.1\n" \
"Host: localhost\n" \
"Content-Type: application/x-www-form-urlencoded\n" \
"Content-Length: 12\n\n" \
"jmeno=Robert\n"
int
main (int argc, char *argv[])
{
struct sockaddr_in sa;
int s = -1;
char buffer[BUFFER_SIZE];
bzero(buffer, sizeof(buffer));
bzero((void *)&sa, sizeof(sa));
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr(HOST_IP);
sa.sin_port = htons(PORT);
if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
fprintf(stderr, "socket() failed\n");
return -1;
}
if (connect(s, (struct sockaddr *)&sa, sizeof(sa)) < 0)
{
fprintf(stderr, "connect() failed\n");
return -1;
}
write(s, REQUEST, sizeof(REQUEST));
read(s, buffer, BUFFER_SIZE);
close(s);
printf(buffer);
return 0;
}
--
Robert V0jta
The abuse of greatness is when it disjoins remorse from power
-- William Shakespeare, "Julius Caesar"
Další informace o konferenci Linux