#include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdio.h> #include <unistd.h> #define DEST_IP "147.32.87.28" #define DEST_PORT 80 #define HTTP_GET "GET /pos/ HTTP/1.0\r\n\r\n" #define BUF_LEN 200 int main(void) { int sockfd; struct sockaddr_in dest_addr; // will hold the destination addr int ret; size_t len; char buffer[BUF_LEN]; sockfd = socket(PF_INET, SOCK_STREAM, 0); // do some error checking! dest_addr.sin_family = AF_INET; // host byte order dest_addr.sin_port = htons(DEST_PORT); // short, network byte order dest_addr.sin_addr.s_addr = inet_addr(DEST_IP); memset(&(dest_addr.sin_zero), '\0', 8); // zero the rest of the struct ret = connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr)); if (ret != 0) { perror("connect"); } /* send http request to server */ write(sockfd, HTTP_GET, strlen(HTTP_GET)); /* read and print answer */ while ((len = read(sockfd, buffer, BUF_LEN-1)) > 0) { buffer[len] = '\0'; /* mark end of string */ printf("%s", buffer); } close(sockfd); return 0; }