看了一下wininet编程,底层实现其实封装了socket套接字,连接到服务器端口80,填充TCP数据部分作为HTTP协议的报头,然后SEND出去,等待recv的数据。
直接上代码吧
// 文件下载 CONSOLE.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#include <Windowsx.h>
#include<string>
#include "wininet.h" //包含wininet.h文件
using namespace std;
#define MAXBLOCKSIZE 200000
#pragma comment( lib, "Wininet.lib" ) //连接到wininet.lib库
void download();
int _tmain(int argc, TCHAR* argv[]){
download();
return 0;
}
/**
* 执行 文件下载 操作
* @param Url: The target action url
*
*/
void download()
{
FILE *stream=NULL;
fopen_s( &stream,"c:\\test.jpg&