问题描述
请教一下,如何用VC++抓取网页内容,就是类似网页源文件这种东西。
解决方案
解决方案二:
你google一下VC,httpclient,一大堆的例子。如果要更熟悉一下底层,可以读一读http协议的规范。
解决方案三:
引用1楼iihero的回复:
你google一下VC,httpclient,一大堆的例子。如果要更熟悉一下底层,可以读一读http协议的规范。
你好,我这里有一个例子,但是自己很多地方还不懂,想请教下你。////////////////////////////////////////////////////////////TCPClient.cpp文件#include"InitSock.h"#include<stdio.h>CInitSockinitSock;//初始化Winsock库intmain(){//创建套节字SOCKETs=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(s==INVALID_SOCKET){printf("Failedsocket()n");return0;}//也可以在这里调用bind函数绑定一个本地地址//否则系统将会自动安排//填写远程地址信息sockaddr_inservAddr;servAddr.sin_family=AF_INET;//servAddr.sin_port=htons(4567);servAddr.sin_port=htons(80);//注意,这里要填写服务器程序(TCPServer程序)所在机器的IP地址//如果你的计算机没有联网,直接使用127.0.0.1即可//servAddr.sin_addr.S_un.S_addr=inet_addr("10.1.141.251");//servAddr.sin_addr.S_un.S_addr=inet_addr("10.1.141.4");servAddr.sin_addr.S_un.S_addr=inet_addr("10.1.141.251");//servAddr.sin_addr.S_un.S_addr=inet_addr("118.145.6.120");//servAddr.sin_addr.S_un.S_addr=inet_addr("60.28.14.149");//newsqqif(::connect(s,(sockaddr*)&servAddr,sizeof(servAddr))==-1){printf("Failedconnect()n");return0;}//接收数据printf("nGetDatafromwwwServer...n");/////////ftsadd//charszText[]="GET/123.htmrn";//charszText[]="GET/index.htmrn";charszText[]="GET/11.htmlrn";//charszText[]="GET/modules/lvyebb/viewtopic.php?&id=31&post_id=44128468&view=1rn";//charszText[]="Get/a/20111116/000154.htmrn";::send(s,szText,strlen(szText),0);//ftsendwhile(true){charbuff[1024];intnRecv=::recv(s,buff,256,0);if(nRecv>0){buff[nRecv]='';printf("%s",buff);}}//关闭套节字::closesocket(s);return0;}