精易论坛

标题: 读网络文件(API) [打印本页]

作者: stillness    时间: 2015-2-25 21:39
标题: 读网络文件(API)
本帖最后由 Modify 于 2015-2-25 21:52 编辑
  
子程序名返回值类型公开备 注
HttpReadFile字节集 
变量名类 型静态数组备 注
hSession整数型会话句柄
hFile整数型文件句柄
buffer字节集缓冲区
len整数型尺寸
null文本型
retVal字节集返回值
hSession = API_InternetOpen (null, #INTERNET_OPEN_TYPE_PRECONFIG, null, null, 0)
如果真 (hSession ≠ #NULL )
hFile = API_InternetOpenUrl (hSession, “http://img4.imgtn.bdimg.com/it/u=360413299,291033693&fm=116&gp=0.jpg”, null, 0, #INTERNET_FLAG_RELOAD, 0)
如果真 (hFile ≠ #NULL )
buffer = 取空白字节集 (512)
循环判断首 ()
API_InternetReadFile (hFile, buffer, 512, len)
retVal = retVal + buffer
循环判断尾 (len > 0)
API_InternetCloseHandle (hFile)
API_InternetCloseHandle (hSession)
返回 (retVal)
子程序名返回值类型公开备 注
QueryFileSize整数型 
参数名类 型参考可空数组备 注
hRequest整数型
变量名类 型静态数组备 注
buffer文本型 
buffer = 取空白文本 (127)
API_HttpQueryInfo (hRequest, #HTTP_QUERY_CONTENT_LENGTH, buffer, 127, 0)
返回 (到整数 (buffer))


i支持库列表   支持库注释   
const(未知支持库)

  
#include <windows.h>
#include <wininet.h>
#pragma comment (lib, "Wininet.lib")
DWORD QueryFileSize (HANDLE hFile)
{
DWORD len = 127;
LPSTR str = new CHAR[len];
ZeroMemory (str, len);
HttpQueryInfo (hFile, HTTP_QUERY_CONTENT_LENGTH, str, &len, 0);
return atoi (str);
}
VOID HttpReadFile ()
{
HANDLE hSession = InternetOpen (NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);
if (hSession != NULL)
{
HANDLE hFile = InternetOpenUrl (hSession, "http://wwww.baidu.com", NULL, NULL, INTERNET_FLAG_RELOAD, NULL);
if (hFile != NULL)
{
DWORD len;
LPBYTE buffer = new BYTE[512];
do
{
InternetReadFile (hFile, buffer, 512, &len);
RtlZeroMemory (buffer, len);
}
while (len > 0);
}
}
}

源码很短直接贴.打包比较费劲
  
DLL命令名返回值类型公开备 注
API_InternetOpen整数型 
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
InternetOpenA
参数名类 型传址数组备 注
代理商名称文本型sAgent
存取类型整数型lAccessType
代理名称文本型sProxyName
代理地址文本型sProxyBypass
标志整数型lFlags
DLL命令名返回值类型公开备 注
API_InternetCloseHandle整数型 
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
InternetCloseHandle
参数名类 型传址数组备 注
Internet句柄整数型hInet
DLL命令名返回值类型公开备 注
API_InternetReadFile整数型 InternetReadFile*
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
InternetReadFile
参数名类 型传址数组备 注
Internet地址句柄整数型hFile
数据缓冲区字节集sBuffer
读取大小整数型lNumBytesToRead
读取首地址整数型lNumberOfBytesRead
DLL命令名返回值类型公开备 注
API_InternetOpenUrl整数型 InternetOpenUrl*
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
InternetOpenUrlA
参数名类 型传址数组备 注
Internet句柄整数型hInternetSession
Url地址文本型lpszUrl
头文本文本型lpszHeaders
头文本长度整数型dwHeadersLength
标志整数型dwFlags
定义值整数型dwContext
DLL命令名返回值类型公开备 注
API_HttpAddRequestHeaders整数型 
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
HttpAddRequestHeadersA
参数名类 型传址数组备 注
hRequest整数型
lpszHeaders文本型
dwHeadersLength整数型
dwModifiers整数型
DLL命令名返回值类型公开备 注
API_HttpQueryInfo整数型 
DLL库文件名:
wininet.dll
在DLL库中对应命令名:
HttpQueryInfoA
参数名类 型传址数组备 注
hRequest整数型
dwInfoLevel整数型
lpBuffer文本型
lpdwBufferLength整数型
lpdwIndex整数型





1.jpg (55.75 KB, 下载次数: 2)

1.jpg

作者: 黄米    时间: 2015-2-25 22:38
沙发是我的!~
作者: 夜的静night    时间: 2015-2-25 22:46
全部都是API  不容易啊
作者: Jelt    时间: 2015-2-26 13:45
火钳留名!!!!!
作者: 半睡半醒    时间: 2015-2-26 19:03
学习一下!!!
作者: xj839493922    时间: 2015-2-26 19:19
api不是在子版块么 顶一个
作者: yljgame520    时间: 2024-9-25 14:21
膜拜大佬




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4