共有回帖数 0 个
-
希望能结识一些C语言的朋友
给大家做一套 VC 编写下载器 的视频
视频分为2部分
1:服务端 实现下载 统计 开机启动
2:生成器 界面编写 生成服务端.
本节视频代码:
#include "stdafx.h"
#include stdlib.h
#include WINSOCK2.h
#pragma comment(lib,"WS2_32.LIB")
BOOL Download(LPSTR szURL,LPSTR szSavePath)
{
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
SOCKET m_Socket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKADDR_IN m_Addr={NULL};
m_Addr.sin_family = AF_INET;
m_Addr.sin_port = htons(80);
m_Addr.sin_addr.S_un.S_addr = inet_addr("192.168.1.100");
if(connect(m_Socket,(SOCKADDR *)&m_Addr,sizeof(SOCKADDR))==SOCKET_ERROR)
{
closesocket(m_Socket);
return FALSE;
}
CHAR szSendBuffer[]="GET /calc.exe HTTP/1.1rn"
"Host:192.168.1.100rn"
"Accept:*/*rn"
"User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)rn"
"Connection:Keep-Alivern"
"rn";
send(m_Socket,szSendBuffer,strlen(szSendBuffer),NULL);
CHAR szRecvBuffer[1000]={NULL};
WORD Size = sizeof(szRecvBuffer);
ZeroMemory(szRecvBuffer,Size);
WORD RecvLen = 0;
RecvLen = recv(m_Socket,szRecvBuffer,Size,NULL);
puts(szRecvBuffer);
DWORD FileSize =0;
CHAR *Point = strstr(szRecvBuffer,"Content-Length: ");
Point+=strlen("Content-Length: ");
FileSize = atoi(Point);
WORD RevcHttpSize =0;
for (WORD i=0;iRecvLen;i++)
{
if(szRecvBuffer=='r')
{
if(szRecvBuffer[i+1]=='n'&&szRecvBuffer[i+2]=='r'&&szRecvBuffer[i+3]=='n')
break;
}
}
i+=4;
DeleteFile(szSavePath);
HANDLE m_Handle = CreateFile(szSavePath,GENERIC_WRITE,FILE_SHARE_WRITE,
NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD Written =0;
DWORD iCount = 0;
WriteFile(m_Handle,&szRecvBuffer,RecvLen-i,&Written,NULL);
iCount+=RecvLen -i;
do
{
RecvLen = recv(m_Socket,szRecvBuffer,Size,NULL);
iCount+=RecvLen;
WriteFile(m_Handle,szRecvBuffer,RecvLen,&Written,NULL);
} while (iCount FileSize);
closesocket(m_Socket);
CloseHandle(m_Handle);
puts("下载成功!");
return TRUE;
}
int main(int argc, char* argv[])
{
Download(NULL,"c:\down.exe");
return 0;
}
视频语音.
下载地址 1楼发上来 上传中.
http://u.115.com/file/f699961fba
不知道百度吞不吞
楼主 2016-03-31 14:20 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知