socket (1)
socketでHTTPクライアントを作ってみる
#include <stdio.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
int main(void) {
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in sock_in;
sock_in.sin_family = AF_INET;
sock_in.sin_port = htons(80);
struct hostent *host;
host = gethostbyname("localhost");
sock_in.sin_addr.s_addr = *(unsigned int *)host->h_addr_list[0];
connect(sock, (struct sockaddr *)&sock_in, sizeof(sock_in));
FILE* fp = fdopen(sock, "r+");
char buf[4096];
fprintf(fp,"GET / HTTP1.0\r\n\r\n");
while(fgets(buf, sizeof(buf), fp) != NULL) {
printf("%s", buf);
}
fclose(fp);
close(sock);
return 0;
}