
Untitled
By: a guest on
Jun 26th, 2012 | syntax:
None | size: 1.00 KB | hits: 11 | expires: Never
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#define port 80
/*
*connect, send @ receive
*in one function
*/
int socks(char *host) {
int sock;
char buffer[1024];
char message[] = "GET / HTTP/1.0\r\n\r\n";
struct sockaddr_in sock_struct;
/* socket descriptorx */
sock=socket(AF_INET, SOCK_STREAM, 0);
sock_struct.sin_family=AF_INET;
sock_struct.sin_port=htons(port);
sock_struct.sin_addr.s_addr=gethostbyname(host);
//bind(sock, (const)sock_struct, sizeof(sock_struct));
if((connect(sock, (struct sockaddr *)&sock_struct, sizeof(sock_struct))) < 0) {
perror("socket error");
exit(2);
}
send(sock, message, sizeof(message), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf(buffer);
close(sock);
}
int main(int argc, char **argv) {
if (argc < 2) {
fprintf(stderr, "usage: http <host>\n");
return;
}
socks(argv[1]);
return 0;
}