CHttpFile::QueryInfo 是 MFC 中 CHttpFile 类的一个公共方法,用于查询有关 HTTP 请求的信息。这个方法通常用于获取响应头信息,例如服务器返回的状态码、内容类型等。

以下是一个简单的示例代码,演示如何使用 CHttpFile::QueryInfo 方法:
#include <afxinet.h>

void SomeFunction()
{
    CInternetSession session;

    // 示例 URL
    CString strURL = _T("http://www.example.com");

    // 打开 URL
    CHttpFile* pFile = NULL;
    try
    {
        pFile = (CHttpFile*)session.OpenURL(strURL);

        if (pFile != NULL)
        {
            // 查询响应头信息
            DWORD dwStatusCode;
            if (pFile->QueryInfo(HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, dwStatusCode))
            {
                // 输出状态码
                TRACE(_T("Status Code: %u\n"), dwStatusCode);
            }

            CString strContentType;
            if (pFile->QueryInfo(HTTP_QUERY_CONTENT_TYPE, strContentType))
            {
                // 输出内容类型
                TRACE(_T("Content Type: %s\n"), strContentType);
            }
        }
    }
    catch (CInternetException* pEx)
    {
        // 处理异常
        pEx->Delete();
    }

    // 关闭文件
    if (pFile != NULL)
        pFile->Close();

    session.Close();
}

在这个示例中,我们使用 CInternetSession 打开一个 URL,获取 CHttpFile 对象,然后通过 QueryInfo 方法查询响应头信息,包括状态码和内容类型。最后,我们输出这些信息。

请注意,实际应用中可能需要根据具体情况查询其他的响应头信息,以满足你的需求。


转载请注明出处:http://www.zyzy.cn/article/detail/18246/MFC/CHttpFile