共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									我已经排除错误了 
代码如下: 
#include	stdio.h 
#include	winsock.h 
#include	string.h 
#pragma comment(lib, "ws2_32.lib") 
void geturl(char *url) 
{ 
WSADATA WSAData={0}; 
SOCKET	sockfd; 
struct sockaddr_in	addr; 
struct hostent	*pURL; 
char	myurl[BUFSIZ]; 
char	*pHost = 0, *pGET = 0; 
char	host[BUFSIZ], GET[BUFSIZ]; 
char	header[BUFSIZ] = ""; 
static char	text[BUFSIZ]; 
int i; 
/* 
 *	windows下使用socket必须用WSAStartup初始化,否则不能调用 
 */ 
if(WSAStartup(MAKEWORD(2,2), &WSAData)) 
{ 
printf("WSA failedn"); 
return; 
} 
/* 
 *	分离url中的主机地址和相对路径 
 */ 
strcpy(myurl, url); 
for (pHost = myurl; *pHost != '/' && *pHost != ' '; ++pHost); 
if ( (int)(pHost - myurl) == strlen(myurl) ) 
strcpy(GET, "/"); 
else 
strcpy(GET, pHost); 
*pHost = ' '; 
strcpy(host, myurl); 
printf("%sn%sn", host, GET); 
/* 
 *	设定socket参数,并未真正初始化 
 */ 
sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); 
pURL = gethostbyname(host); 
addr.sin_family = AF_INET; 
addr.sin_addr.s_addr = *((unsigned long*)pURL-h_addr); 
addr.sin_port = htons(80); 
/* 
 *	组织发送到web服务器的信息 
 *	为何要发送下面的信息请参考HTTP协议的约定 
 */ 
strcat(header, "GET "); 
strcat(header, GET); 
strcat(header, " HTTP/1.1rn"); 
strcat(header, "HOST: "); 
strcat(header, host); 
strcat(header, "rnConnection: Closernrn"); 
/* 
 *	连接到服务器,发送请求header,并接受反馈(即网页源代码) 
 */ 
connect(sockfd,(SOCKADDR *)&addr,sizeof(addr)); 
send(sockfd, header, strlen(header), 0); 
while ( recv(sockfd, text, BUFSIZ, 0)  0) 
{	
printf("%s", text); 
strnset(text, ' ', BUFSIZ); 
} 
closesocket(sockfd); 
WSACleanup(); 
} 
int main() 
{ 
char	url[256]; 
printf("http://"); 
scanf("%s", url); 
geturl(url); 
return 0; 
} 
本人是菜鸟,所以难免有不足之处 
所以欢迎大家讨论 
但是请个别人别来这里骂街
							 
							 
							 
							  
							  
							  楼主 2016-01-28 13:29 回复
						 
						 
           
          
          
         
   
         
      
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知