CHttpFile::QueryInfo
调用该成员函数返回响应或请求标头从HTTP请求。
BOOL QueryInfo(
DWORD dwInfoLevel,
LPVOID lpvBuffer,
LPDWORD lpdwBufferLength,
LPDWORD lpdwIndex = NULL
) const;
BOOL QueryInfo(
DWORD dwInfoLevel,
CString& str,
LPDWORD dwIndex = NULL
) const;
BOOL QueryInfo(
DWORD dwInfoLevel,
SYSTEMTIME* pSysTime,
LPDWORD dwIndex = NULL
) const;
参数
dwInfoLevel
指定请求的信息的类型查询的属性和以下标记:HTTP_QUERY_CUSTOM 查找标头名称并返回该 lpvBuffer 的此值在输出。;如果未找到,HTTP_QUERY_CUSTOM 引发断言该标头。
HTTP_QUERY_FLAG_REQUEST_HEADERS 通常,应用程序查询响应标头,可以使用此标志,但是,应用程序还可以查询请求标头。
值是日期/时间字符串,例如“之前修改时,”此标志的那些标头的HTTP_QUERY_FLAG_SYSTEMTIME 返回标头值作为不需要应用程序分析数据的标准Win32 SYSTEMTIME 结构。如果使用此标志,您可能希望使用函数的 SYSTEMTIME 重写。
值是一个数字,例如状态代码,此标志的那些标头的HTTP_QUERY_FLAG_NUMBER 返回数据作为32位数字。
为可能值的列表参见 Remarks 部分。
lpvBuffer
为获取信息的缓冲区的指针。lpdwBufferLength
在项,它指向包含数据缓冲区的长度值,总数字符或字节。请参见 Remarks 部分有关此参数的更多详细信息。lpdwIndex
对于从零开始的索引标头的指针。可以是 NULL。使用此标志枚举同名的多个标头。在输入,lpdwIndex 指示指定的标头的索引返回。在输出,lpdwIndex 指示下一标头的索引。如果找不到下索引,ERROR_HTTP_HEADER_NOT_FOUND 返回。str
用于接收返回的信息的 CString 对象的引用。dwIndex
索引值。请参见 lpdwIndex。pSysTime
对Win32 SYSTEMTIME 结构的指针。
返回值
非零,如果成功;否则为0。如果调用失败,Win32函数 GetLastError 可以调用以确定导致错误的原因。
备注
在成功调用 SendRequest 或在 OpenURL之后,才能成功创建的 CHttpFile 对象使用该成员函数。
可以从 QueryInfo检索数据的以下类型:
字符串(默认值)
SYSTEMTIME (对于“数据: ”过期: ”等,标头)
DWORD (对于 STATUS_CODE、 CONTENT_LENGTH等.)
当字符串到缓冲区中编写,并且,成员函数成功,lpdwBufferLength 在递减1的字符包含字符串的长度停止点的 NULL 字符的。
可能的 dwInfoLevel 值包括:
HTTP_QUERY_MIME_VERSION
HTTP_QUERY_CONTENT_TYPE
HTTP_QUERY_CONTENT_TRANSFER_ENCODING
HTTP_QUERY_CONTENT_ID
HTTP_QUERY_CONTENT_DESCRIPTION
HTTP_QUERY_CONTENT_LENGTH
HTTP_QUERY_ALLOWED_METHODS
HTTP_QUERY_PUBLIC_METHODS
HTTP_QUERY_DATE
HTTP_QUERY_EXPIRES
HTTP_QUERY_LAST_MODIFIED
HTTP_QUERY_MESSAGE_ID
HTTP_QUERY_URI
HTTP_QUERY_DERIVED_FROM
HTTP_QUERY_LANGUAGE
HTTP_QUERY_COST
HTTP_QUERY_WWW_LINK
HTTP_QUERY_PRAGMA
HTTP_QUERY_VERSION
HTTP_QUERY_STATUS_CODE
HTTP_QUERY_STATUS_TEXT
HTTP_QUERY_RAW_HEADERS
HTTP_QUERY_RAW_HEADERS_CRLF
要求
Header: afxinet.h