- 论坛徽章:
- 0
|
别抱怨了,人家让你自己找资料也是为你好。
给你个去CU首页的例子,很简单。
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netdb.h>
- #define BUF_LEN 1024
- int main(int argc, char **argv)
- {
- int sockfd = 0;
- struct sockaddr_in addr;
- char buf[BUF_LEN + 1];
- size_t buf_len = 0;
- sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if (sockfd < 0) {
- printf("error to create socket\n");
- return -1;
- }
- memset(&addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = inet_addr("222.36.44.8");
- addr.sin_port = htons(80);
- if (connect(sockfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- printf("error to connect\n");
- close(sockfd);
- return -1;
- }
- memset(buf, 0, BUF_LEN + 1);
- buf_len = snprintf(buf, BUF_LEN, "GET / HTTP/1.1\r\nHost:www.chinaunix.net\r\n\r\n");
- if (write(sockfd, buf, buf_len) <= 0) {
- printf("error to write\n");
- close(sockfd);
- return -1;
- }
- do {
- memset(buf, 0, BUF_LEN + 1);
- buf_len = read(sockfd, buf, BUF_LEN);
- if (buf_len < 0) {
- printf("error to read\n");
- close(sockfd);
- return -1;
- }
- if (buf_len > 0) {
- printf("%s\n", buf);
- }
- } while (buf_len > 0);
- close(sockfd);
- return 0;
- }
复制代码 |
|