我想做一个下载程序,http协议求请头一定要用IP吗?
"GET /1.swf HTTP/1.1\r\nHost:www.xxx.com\r\n\r\n"
为什么不行啊?有没有高的有好的办法啊? //ws2_32.lib
//==================================================
#include <Winsock2.h>
#include <stdio.h>
#include <windows.h>
//#include <iostream.h>long BodyLen;
int HeadLen;void main()
{
printf("\n>>main is start!\n");
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested=MAKEWORD(1,1);
err=WSAStartup( wVersionRequested,&wsaData);
if(err!=0){
return;
}
if (LOBYTE(wsaData.wVersion)!=1||
HIBYTE(wsaData.wVersion)!=1){
WSACleanup();
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(80);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
char sendBuf[249];
int retCode;
int ib;
int LenLen;
char recvBuf[500];
char* pHeadEnd;
//------------------发送请求文件头--------------------------------
sprintf(sendBuf,"HEAD /1.gif HTTP/1.1\r\nHost:127.0.0.1\r\n\r\n");
send(sockClient,sendBuf,strlen(sendBuf)+1,0);
//------------------接收数据--------------------------------------
retCode=recv(sockClient,recvBuf,500,0);
printf("\n%s\n",recvBuf);
return;
}
"GET /1.swf HTTP/1.1\r\nHost:www.xxx.com\r\n\r\n"
为什么不行啊?有没有高的有好的办法啊? //ws2_32.lib
//==================================================
#include <Winsock2.h>
#include <stdio.h>
#include <windows.h>
//#include <iostream.h>long BodyLen;
int HeadLen;void main()
{
printf("\n>>main is start!\n");
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested=MAKEWORD(1,1);
err=WSAStartup( wVersionRequested,&wsaData);
if(err!=0){
return;
}
if (LOBYTE(wsaData.wVersion)!=1||
HIBYTE(wsaData.wVersion)!=1){
WSACleanup();
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(80);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
char sendBuf[249];
int retCode;
int ib;
int LenLen;
char recvBuf[500];
char* pHeadEnd;
//------------------发送请求文件头--------------------------------
sprintf(sendBuf,"HEAD /1.gif HTTP/1.1\r\nHost:127.0.0.1\r\n\r\n");
send(sockClient,sendBuf,strlen(sendBuf)+1,0);
//------------------接收数据--------------------------------------
retCode=recv(sockClient,recvBuf,500,0);
printf("\n%s\n",recvBuf);
return;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货