http协议使用实例
2015-06-17 13:47
369 查看
#include <stdio.h>
#include <windows.h>
#include <wininet.h>
#define MAXSIZE 1024
#pragma comment(lib, "Wininet.lib")
void urlopen(TCHAR*);
int main(int argc, TCHAR* argv[])
{
TCHAR ch[] = TEXT("http://dt.163.com/images/news/0605/news02053101_5.jpg");
urlopen(ch);
getchar();
return 0;
}
void urlopen(TCHAR* url)
{
HINTERNET hSession = InternetOpen(TEXT("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY, NULL, NULL, 0);
if(hSession != NULL)
{
HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
BYTE Temp[MAXSIZE];
ULONG Number = 1;
DWORD written;
HANDLE hFile;
if (hHttp != NULL)
{
wprintf_s(TEXT("%s\n"), url);
hFile = CreateFile( TEXT("ysl.jpg"),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if ( hFile == INVALID_HANDLE_VALUE )
{
goto hear;
}
while (Number > 0)
{
InternetReadFile(hHttp, Temp, MAXSIZE - 1, &Number);
Temp[Number] = '\0';
WriteFile( hFile,Temp,Number, &written,NULL);
}
InternetCloseHandle(hHttp);
hHttp = NULL;
}
hear:
CloseHandle( hFile );
InternetCloseHandle(hSession);
hSession = NULL;
}
}
#include <windows.h>
#include <wininet.h>
#define MAXSIZE 1024
#pragma comment(lib, "Wininet.lib")
void urlopen(TCHAR*);
int main(int argc, TCHAR* argv[])
{
TCHAR ch[] = TEXT("http://dt.163.com/images/news/0605/news02053101_5.jpg");
urlopen(ch);
getchar();
return 0;
}
void urlopen(TCHAR* url)
{
HINTERNET hSession = InternetOpen(TEXT("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY, NULL, NULL, 0);
if(hSession != NULL)
{
HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
BYTE Temp[MAXSIZE];
ULONG Number = 1;
DWORD written;
HANDLE hFile;
if (hHttp != NULL)
{
wprintf_s(TEXT("%s\n"), url);
hFile = CreateFile( TEXT("ysl.jpg"),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if ( hFile == INVALID_HANDLE_VALUE )
{
goto hear;
}
while (Number > 0)
{
InternetReadFile(hHttp, Temp, MAXSIZE - 1, &Number);
Temp[Number] = '\0';
WriteFile( hFile,Temp,Number, &written,NULL);
}
InternetCloseHandle(hHttp);
hHttp = NULL;
}
hear:
CloseHandle( hFile );
InternetCloseHandle(hSession);
hSession = NULL;
}
}
相关文章推荐
- mini-httpd源码分析-tdate_parse.h
- Linux网络编程常见面试题
- 最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)
- Unix网络编程学习笔记之第7章 套接字选项
- mini-httpd源码分析-port.h
- mini-httpd源码分析-version.h
- AngularJS $http 异步后台无法获取请求参数
- 移动网络应用市场趋势分析
- [管理篇6]VMWare搭建Openstack——将FlatDHCP网络转化为GRE网络——原理介绍
- HTTP 错误 500.21 - Internal Server Error 解决方案
- Andorid--Apache HttpClient(三)
- vSphere网络原理及vSwitch
- 升级到tomcat8遇到The method getDispatcherType() is undefined for the type HttpServletRequest
- HttpClient
- 黑马程序员——java基础——网络编程
- Linux 下tcpdump命令应用
- Firefox OS上实现HTTP Web Server
- 【搜索引擎基础知识2】网络爬虫的介绍
- HttpClient基础教程
- 【搜索引擎Jediael开发笔记2】使用HttpClient下载网页至本地文件