如何用winsock正确的下载文件
hktl 2001-06-13 12:10:00 先说明我的程序的目的
(我的程序是用来从网上下载文件回来的,如GetRight,网络蚂蚁等程序)
下面是我用的下载方法
比如下载的网址是:http://www.csdn.net/expert/topic/156/156941.shtm
addr.sin_family = AF_INET;
addr.sin_port = htons(80); 设为HTTP端口
aa = gethostbyname("www.csdn.net");
memcpy(&(addr.sin_addr), aa->h_addr, aa->h_length);
iResult=connect(s,(struct sockaddr *) &addr, sizeof(addr));
strSubAddr="GET /expert/topic/156/156941.shtm HTTP/1.0\r\n Host:www.csdn.net";
iResult = send(s, strSubAddr,strlen(strSubAddr),0);
然后用recv下载文件......
上面是代码下载http://www.csdn.net/expert/topic/156/156941.shtm
是没有问题的
可以下载
但如果网址是http://us.yimg.com/i/hk/m5v3.gif时
下载回来的却是:
HTTP/1.0 302 RD
Location: http://www.yahoo.com/
请问各位高手们仁兄们
要如何才能正确的下载文件呢
像GetRight,网络蚂蚁是如何处理一个网址的