请问这里InternetOpenUrl为什么老是出错?
#include <windows.h>
#include <wininet.h>
#include <iostream>
#pragma comment(lib, "Wininet.lib")
void Download(char url[]);
int main(int argc, char *argv[])
{
Download("www.baidu.com");
return 0;
}
void Download(char url[])
{
char buffer[100000];//下载文件的缓冲区
DWORD bytes_read;//下载的字节数
//打开一个internet连接
HINTERNET internet=InternetOpen("HTTP Downloader",INTERNET_OPEN_TYPE_PRECONFIG,NULL, NULL, NULL);
if(!internet)
throw "InternetOpen error!";
//打开一个http url地址
HINTERNET file_handle=InternetOpenUrl(internet, url, NULL, 0,INTERNET_FLAG_RELOAD, 0);
if(!file_handle)
//throw "InternetOpenUrl error! - Maybe you should add Http:// or Ftp://";
cout<<"失败!\n";
return;
//从url地址中读取文件内容到缓冲区buffer
BOOL b = InternetReadFile(file_handle, buffer, 100000, &bytes_read);
if(!b)
throw "InternetReadFile error!";
buffer[bytes_read] = 0;
//cout << buffer << endl << endl;
//关闭连接
InternetCloseHandle(internet);
cout<<buffer;
}
我原本用得好好的,不知怎么的忽然就不行了。
谢谢大家。