// I have got this code from http://www.pcs.cnu.edu/~dgame/sockets/client.c
#define PORT 80
#define HOST "128.121.243.228"
#define DIRSIZE 8192000
#define HTTP_HEADER "GET /statuses/user_timeline/Neo_4583.json HTTP/1.1\nHost: twitter.com\n\n"
char* strToSend = HTTP_HEADER;
char hostname[100];
char dir[DIRSIZE];
int sd;
struct sockaddr_in pin;
struct hostent *hp;
strcpy(hostname,HOST);
if ((hp = gethostbyname(hostname)) == 0) {
exit(1);
}
memset(&pin, 0, sizeof(pin));
pin.sin_family = AF_INET;
pin.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr;
pin.sin_port = htons(PORT);
if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
if (connect(sd,(struct sockaddr *) &pin, sizeof(pin)) == -1) {
perror("connect");
exit(1);
}
if (send(sd, strToSend, strlen(strToSend), 0) == -1) {
exit(1);
}
if (recv(sd, dir, DIRSIZE, MSG_WAITALL) == -1) {
exit(1);
}else {
// The data is ready to be served
printf("%s\n", dir);
}
close(sd);