WINHTTP的API接口说明。
BOOL WINAPI WinHttpAddRequestHeaders(
_In_ HINTERNET hRequest,
_In_ LPCWSTR pwszHeaders,
_In_ DWORD dwHeadersLength,
_In_ DWORD dwModifiers
);
作用:加入一个HTTP的请求头域。
參数说明:
hRequest [in]
一个HINTERNET句柄通过调用WinHttpOpenRequest返回。
pwszHeaders [in]
请求的头域字符串,,每一个头域(多个头域以)使用回车换行(\r\n)结束
dwHeadersLength [in]
无符号长整型变量,指向pwszHeaders的长度,假设该參数为(ulong)-1L时,自己主动以"/0"结束来计算pwszHeaders的长度。
dwModifiers [in]
头域的改动模式。包含例如以下值:
WINHTTP_ADDREQ_FLAG_ADD 加入一个头域,假设头域存在时值将被新加入的值替换。
与WINHTTP_ADDREQ_FLAG_REPLAC一起使用
WINHTTP_ADDREQ_FLAG_ADD_IF_NEW 加入一个不存在头域,假设该头域存在则返回一个错误。
WINHTTP_ADDREQ_FLAG_COALESCE 将同名的头域进行合并。
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 合并同名的头域,值使用逗号隔开。
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 合并同名的头域,值使用分号隔开。
WINHTTP_ADDREQ_FLAG_REPLACE 替换和删除一个头域,假设值为空,则删除,否则被替换。
返回值为假时。使用getlasterror来得到错误信息。
err code:
ERROR_WINHTTP_INCORRECT_HANDLE_STATE 请求不能被运行,由于句柄的状态不对
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE 请求的句柄类型不对
ERROR_WINHTTP_INTERNAL_ERROR 内部错误
ERROR_NOT_ENOUGH_MEMORY 没有足够的内存来完毕操作。
BOOL WinHttpCheckPlatform(void);
作用:推断是否是微软支持的平台。
返回值:TRUE支持。否则不支持。
BOOL WINAPI WinHttpCloseHandle(
_In_ HINTERNET hInternet
);
作用:关闭一个HINTERNET句柄。
參考:
hInternet [in]
待关闭HINTERNET的句柄。
当返回false时能够调用getlasterror来得到相关信息。
err code:
ERROR_WINHTTP_SHUTDOWN winhttp已关闭或卸载
ERROR_WINHTTP_INTERNAL_ERROR INTERNAL错误
ERROR_NOT_ENOUGH_MEMORY 内存不够
HINTERNET WINAPI WinHttpConnect(
_In_ HINTERNET hSession,
_In_ LPCWSTR pswzServerName,
_In_ INTERNET_PORT nServerPort,
_Reserved_ DWORD dwReserved
);
作用:建立一个http的连接会话。
參数:
hSession [in]
通过调用winHttpOpen返回的session句柄。
pswzServerName [in]
主机或域名。能够有IP地址也能够是网站域名。
nServerPort [in]
主机的port;
取值:
INTERNET_DEFAULT_HTTP_PORT 默认的HTTPport80。
INTERNET_DEFAULT_HTTPS_PORT 默认的HTTPSport443。能够通过调用WinHttpOpenRequest函数中的WINHTTP_FLAG_SECURE 开启HTTPS
INTERNET_DEFAULT_PORT 默认HTTP为80,HTTPS为443
dwReserved [in]
保留參数。设置为0;
返回值:假设调用成功则返回一个HTTP连接会话的句柄,否则为NULL。为NULL时能够调用getlasterror查看。
err code:
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE 句柄的类型不对。
ERROR_WINHTTP_INTERNAL_ERROR INTERNAL错误。
ERROR_WINHTTP_INVALID_URL 无效的URL
ERROR_WINHTTP_OPERATION_CANCELLED 操作被取消,通经常使用于操作完毕前。
ERROR_WINHTTP_UNRECOGNIZED_SCHEME URL不能被识别或不支持。
ERROR_WINHTTP_SHUTDOWN winhttp已关闭或卸载
ERROR_NOT_ENOUGH_MEMORY 内存不够
BOOL WINAPI WinHttpCrackUrl(
_In_ LPCWSTR pwszUrl,
_In_ DWORD dwUrlLength,
_In_ DWORD dwFlags,
_Inout_ LPURL_COMPONENTS lpUrlComponents
);
作用:分离host和路径
參数:
pwszUrl [in]
将正确规范的URL进行分离,但不正确URL做有效性验证。
dwUrlLength [in]
pwszUrl的长度。假设设为0。则默认pwszUrl字符以NULL结束来计算长度。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/70652.html