|
抄了一段别人的浏览器代码,自己编译成功了,不知道能不能,大家帮忙测试一下,
我的linux下不能上,麻烦大家了,
- #include <unistd.h>
- #include <sys/socket.h>
- #include <stdio.h>
- #include <sys/types.h>
- #include <stdarg.h>
- #include <netdb.h>
- #include <stdlib.h>
- int sock_connect(char *domain, int port)
- {
- int white_sock;
- struct hostent *site;
- struct sockaddr_in me;
-
- site = gethostbyname(domain);
- if (site==NULL)
- return -2;
-
- white_sock = socket(AF_INET, SOCK_STREAM, 0);
- if (white_sock<0)
- return -1;
-
- memset (&me, 0, sizeof(struct sockaddr_in));
- memcpy (&me.sin_addr, site->h_addr_list[0], site->h_length);
- me.sin_family = AF_INET;
- me.sin_port = htons(port);
- return ( connect(white_sock, (struct sockaddr *)&me, sizeof(struct sockaddr)) <0) ? -1 : white_sock;
- }
- int sock_send( int sock, char *fmt,...)
- {
- char BUF[1024];
- va_list argptr;
- va_start(argptr, fmt);
- vsprintf( BUF, fmt, argptr);
- va_end(argptr);
- return send(sock, BUF, strlen(BUF), 0);
- }
-
- int main( int argc, char *argv[])
- {
- int black_sock;
- char bugs_bunny[3];
-
- if (argc<2) return;
-
- black_sock = sock_connect(argv[1], 80);
- if (black_sock<0) return;
- sock_send( black_sock, "GET / HTTP /1.0%c", 10);
- sock_send( black_sock, "Host: %s%c", argv[1], 10);
- sock_send( black_sock, "%c", 10);
- while ( read(black_sock, bugs_bunny, 1) >0)
- {
- printf("%c",bugs_bunny[0]);
- }
- close(black_sock);
- }
复制代码 |
|