user-0 提问: 求用C读取网页的源代码

回复:
user: user-0
content: 引用 12 楼 u012421456 的回复:[quote=引用 11 楼 qq_25264405 的回复:] [quote=引用 10 楼 u012421456 的回复:] [quote=引用 9 楼 qq_25264405 的回复:] [quote=引用 8 楼 jiht594 的回复:] [quote=引用 7 楼 qq_25264405 的回复:] stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试[/quote] 删掉显示很多错误，没删显示没找到这个文件[/quote] 这个是VS下的文件[/quote] 那如何在VC中用？？ [/quote] 这个，看去掉后报什么错，然后改吧，具体我也没什么办法了[/quote] 主要是函数的定义确实

user: user-1
content: 引用 3 楼 jiht594 的回复:// Server.cpp : Defines the entry point for the console application. //  #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]) {    SOCKET hsocket;   SOCKADDR_IN saServer;   WSADATA     wsadata;   LPHOSTENT lphostent;   int     nRet;     char   Dest[3000];  char* host_name="www.baidu.com"; char* req="GET / HTTP/1.1\r\n" //此为要发送的数据包 "Accept: image/gif, image/x-xbitmap, image/jpeg, imagepeg, application/x-shockwave-flash, applicationnd.ms-excel, applicationnd.ms-powerpoint, application/msword, */*\r\n" "Accept-Language: zh-cn\r\n" "Connection: Keep-Alive\r\n" "Host: www.baidu.com\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n";  // 初始化套接字      if(WSAStartup(MAKEWORD(2,2),&wsadata))         printf("初始化SOCKET出错！");     lphostent=gethostbyname(host_name);          if(lphostent==NULL)              printf("lphostent为空！");       hsocket   =   socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);          saServer.sin_family = AF_INET;          saServer.sin_port = htons(80);          saServer.sin_addr =*((LPIN_ADDR)*lphostent->h_addr_list);       // 利用SOCKET连接       nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(SOCKADDR_IN));          if(nRet == SOCKET_ERROR)          {         printf("建立连接时出错！");              closesocket(hsocket);         return 0;     }     // 利用SOCKET发送        nRet = send(hsocket,req,strlen(req),0);       if(nRet==SOCKET_ERROR)       {           printf("发送数据包时出错！");           closesocket(hsocket);       }           nRet=1;          while(nRet>0)          {           // 接收返回数据包           nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0);              if(nRet>0)             Dest[nRet]=0;         else                  Dest[0]=0;           // 显示返回数据包的大小、内容          printf("\nReceived   bytes:%d\n",nRet);              printf("Result:\n%s",Dest);          } } +1这个靠谱

user: user-2
content: #include <stdio.h>  int main(int argc,char** argv) {     system("wget %s","http://bbs.csdn.net/topics/390996880");     // 处理之。。。     return 0; }

user: user-3
content: 好像上面的解决方法都是代码很长。其实有更简短的，C++下。

user: user-4
content: 引用 11 楼 qq_25264405 的回复:[quote=引用 10 楼 u012421456 的回复:] [quote=引用 9 楼 qq_25264405 的回复:] [quote=引用 8 楼 jiht594 的回复:] [quote=引用 7 楼 qq_25264405 的回复:] stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试[/quote] 删掉显示很多错误，没删显示没找到这个文件[/quote] 这个是VS下的文件[/quote] 那如何在VC中用？？ [/quote] 这个，看去掉后报什么错，然后改吧，具体我也没什么办法了

user: user-0
content: 引用 10 楼 u012421456 的回复:[quote=引用 9 楼 qq_25264405 的回复:] [quote=引用 8 楼 jiht594 的回复:] [quote=引用 7 楼 qq_25264405 的回复:] stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试[/quote] 删掉显示很多错误，没删显示没找到这个文件[/quote] 这个是VS下的文件[/quote] 那如何在VC中用？？

user: user-4
content: 引用 9 楼 qq_25264405 的回复:[quote=引用 8 楼 jiht594 的回复:] [quote=引用 7 楼 qq_25264405 的回复:] stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试[/quote] 删掉显示很多错误，没删显示没找到这个文件[/quote] 这个是VS下的文件

user: user-0
content: 引用 8 楼 jiht594 的回复:[quote=引用 7 楼 qq_25264405 的回复:] stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试[/quote] 删掉显示很多错误，没删显示没找到这个文件

user: user-5
content: 引用 7 楼 qq_25264405 的回复:stdafx.h这个在VC++和Cfree都没有，怎么编译  vc新建工程应该自带的, 没有你删了#Include "stdafx.h"这一句试试

user: user-0
content: stdafx.h这个在VC++和Cfree都没有，怎么编译  引用 3 楼 jiht594 的回复:// Server.cpp : Defines the entry point for the console application. //  #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]) {    SOCKET hsocket;   SOCKADDR_IN saServer;   WSADATA     wsadata;   LPHOSTENT lphostent;   int     nRet;     char   Dest[3000];  char* host_name="www.baidu.com"; char* req="GET / HTTP/1.1\r\n" //此为要发送的数据包 "Accept: image/gif, image/x-xbitmap, image/jpeg, imagepeg, application/x-shockwave-flash, applicationnd.ms-excel, applicationnd.ms-powerpoint, application/msword, */*\r\n" "Accept-Language: zh-cn\r\n" "Connection: Keep-Alive\r\n" "Host: www.baidu.com\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n";  // 初始化套接字      if(WSAStartup(MAKEWORD(2,2),&wsadata))         printf("初始化SOCKET出错！");     lphostent=gethostbyname(host_name);          if(lphostent==NULL)              printf("lphostent为空！");       hsocket   =   socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);          saServer.sin_family = AF_INET;          saServer.sin_port = htons(80);          saServer.sin_addr =*((LPIN_ADDR)*lphostent->h_addr_list);       // 利用SOCKET连接       nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(SOCKADDR_IN));          if(nRet == SOCKET_ERROR)          {         printf("建立连接时出错！");              closesocket(hsocket);         return 0;     }     // 利用SOCKET发送        nRet = send(hsocket,req,strlen(req),0);       if(nRet==SOCKET_ERROR)       {           printf("发送数据包时出错！");           closesocket(hsocket);       }           nRet=1;          while(nRet>0)          {           // 接收返回数据包           nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0);              if(nRet>0)             Dest[nRet]=0;         else                  Dest[0]=0;           // 显示返回数据包的大小、内容          printf("\nReceived   bytes:%d\n",nRet);              printf("Result:\n%s",Dest);          } }

user: user-6
content: 用python啦，好用到cry

user: user-5
content: // Server.cpp : Defines the entry point for the console application. //  #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]) {    SOCKET hsocket;   SOCKADDR_IN saServer;   WSADATA     wsadata;   LPHOSTENT lphostent;   int     nRet;     char   Dest[3000];  char* host_name="www.baidu.com"; char* req="GET / HTTP/1.1\r\n" //此为要发送的数据包 "Accept: image/gif, image/x-xbitmap, image/jpeg, imagepeg, application/x-shockwave-flash, applicationnd.ms-excel, applicationnd.ms-powerpoint, application/msword, */*\r\n" "Accept-Language: zh-cn\r\n" "Connection: Keep-Alive\r\n" "Host: www.baidu.com\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n";  // 初始化套接字      if(WSAStartup(MAKEWORD(2,2),&wsadata))         printf("初始化SOCKET出错！");     lphostent=gethostbyname(host_name);          if(lphostent==NULL)              printf("lphostent为空！");       hsocket   =   socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);          saServer.sin_family = AF_INET;          saServer.sin_port = htons(80);          saServer.sin_addr =*((LPIN_ADDR)*lphostent->h_addr_list);       // 利用SOCKET连接       nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(SOCKADDR_IN));          if(nRet == SOCKET_ERROR)          {         printf("建立连接时出错！");              closesocket(hsocket);         return 0;     }     // 利用SOCKET发送        nRet = send(hsocket,req,strlen(req),0);       if(nRet==SOCKET_ERROR)       {           printf("发送数据包时出错！");           closesocket(hsocket);       }           nRet=1;          while(nRet>0)          {           // 接收返回数据包           nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0);              if(nRet>0)             Dest[nRet]=0;         else                  Dest[0]=0;           // 显示返回数据包的大小、内容          printf("\nReceived   bytes:%d\n",nRet);              printf("Result:\n%s",Dest);          } }

user: user-0
content: 引用 1 楼 jiht594 的回复:搜索curl求具体代码

user: user-5
content: 搜索curl