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_CODECONTENT_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

请参见

参考

CHttpFile选件类

层次结构图

CInternetFile选件类

CHttpConnection::OpenRequest

CFtpConnection选件类

CGopherConnection选件类

CInternetConnection选件类