#define _WINSOCK_DEPRECATED_NO_WARNINGS//在stdafx.h中添加 #pragma comment(lib, "ws2_32.lib") void ReadPage(PVOID url) { char * host = (char*)url; WSADATA data; //winsock版本2.2 int err = WSAStartup(MAKEWORD(2, 2), &data); if (err) return; //用域名获取对方主机名 struct hostent *h = gethostbyname(host); if (h == NULL) return; //IPV4 if (h->h_addrtype != AF_INET) return; struct in_addr ina; //解析IP memmove(&ina, h->h_addr, 4); LPSTR ipstr = inet_ntoa(ina); //Socket封装 struct sockaddr_in si; si.sin_family = AF_INET; si.sin_port = htons(80); si.sin_addr.S_un.S_addr = inet_addr(ipstr); int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); connect(sock, (SOCKADDR*)&si, sizeof(si)); if (sock == -1 || sock == -2) return; //发送请求 char request[1024] = "GET /?st=1 HTTP/1.1\r\nHost:"; strcat(request, host); strcat(request, "\r\nConnection:Close\r\n\r\n"); int ret = send(sock, request, strlen(request), 0); //获取网页内容 FILE *f = fopen("recieved.txt", "w"); int isstart = 0; while (ret > 0) { const int bufsize = 1024; char* buf = (char*)calloc(bufsize, 1); ret = recv(sock, buf, bufsize - 1, 0); fprintf(f, "%s", buf); free(buf); } fclose(f); closesocket(sock); WSACleanup(); AfxMessageBox(_T("读取网页内容成功,已保存在recieved.txt中")); return; } void CMFCApplication1Dlg::OnBnClickedButton2() { //ReadPage("chinayu2019.cn3v.net"); _beginthread(ReadPage, 0, "chinayu2019.cn3v.net"); }
读取网页内容
原创Chinayu2014 博主文章分类:MFC ©著作权
©著作权归作者所有:来自51CTO博客作者Chinayu2014的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:excel创建宏打印
下一篇:ASP循环读取数据库记录

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Java爬虫】008-网页内容解析:JSON解析
一、JSON矫正
json java Java爬虫 JSON System -
java 获取网页json数据 java获取网页指定内容
使用JAVA获取指定网页内容
java .net System