Partager via


CHttpFile::QueryInfo

Appelez la fonction membre pour retourner la réponse ou les en-têtes de demande pour une requête 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;

Paramètres

  • dwInfoLevel
    Une combinaison de l'attribut à interroger et les balises suivantes qui spécifient le type d'informations demandées :

    • HTTP_QUERY_CUSTOM recherche le nom d'en-tête et retourne cette valeur dans lpvBuffer sur la sortie.HTTP_QUERY_CUSTOM lève une assertion si l'en-tête est introuvable.

    • HTTP_QUERY_FLAG_REQUEST_HEADERS en général, l'application demande les en-têtes de réponse, mais une application peut également interroger des en-têtes de demande à l'aide de cette balise.

    • HTTP_QUERY_FLAG_SYSTEMTIME pour ces en-têtes dont la valeur est une chaîne de date/heure, telle que « heure de la dernière modification, » retourne de cet indicateur la valeur d'en-tête comme structure Win32 SYSTEMTIME de standard qui ne requiert pas l'application pour analyser les données.Si vous utilisez cette balise, vous pouvez utiliser la substitution d' SYSTEMTIME de la fonction.

    • HTTP_QUERY_FLAG_NUMBER pour ces en-têtes dont la valeur est un nombre, tel que le code d'état, des retours de cette balise les données sous la forme d'un nombre de 32 bits.

    Consultez la section de Notes pour une liste des valeurs possibles.

  • lpvBuffer
    Un pointeur vers une mémoire tampon qui accepte les informations.

  • lpdwBufferLength
    Lors de l'entrée, ces points à une valeur contenant la longueur de la mémoire tampon de données, en nombre de caractères ou des octets.Consultez la section de Notes pour plus d'informations sur les ce paramètre.

  • lpdwIndex
    Un pointeur vers un index de base zéro d'en-tête.Peut être NULL.Utilisez cette balise pour énumérer plusieurs en-têtes avec le même nom.Lors de l'entrée, lpdwIndex indique l'index de l'en-tête spécifié à retourner.Lors de la sortie, lpdwIndex indique l'index de l'en-tête.Si l'index est introuvable, ERROR_HTTP_HEADER_NOT_FOUND est retourné.

  • str
    Une référence à l'objet de CString recevant les informations retournées.

  • dwIndex
    Une valeur d'index.Consultez lpdwIndex.

  • pSysTime
    Un pointeur vers une structure Win32 SYSTEMTIME .

Valeur de retour

Une valeur différente de zéro si l'opération a réussi ; sinon 0.Si l'appel échoue, la fonction GetLastError Win32 peut être appelée pour déterminer la cause de l'erreur.

Notes

Utilisez cette fonction membre uniquement après un appel aboutit à SendRequest ou sur un objet d' CHttpFile créé avec succès par OpenURL.

Vous pouvez récupérer les types de données suivants d' QueryInfo:

  • chaînes (valeur par défaut)

  • SYSTEMTIME (pour les « données :  » « Expire :  » etc., en-têtes.)

  • DWORD (pour STATUS_CODE, CONTENT_LENGTH, etc..)

Lorsqu'une chaîne est écrite dans la mémoire tampon, et la fonction membre réussit, lpdwBufferLength contient la longueur de la chaîne de caractères moins 1 pour le caractère de fin de NULL .

Les valeurs possibles d' dwInfoLevel incluent :

  • 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

Configuration requise

Header: afxinet.h

Voir aussi

Référence

Classe de CHttpFile

Graphique de la hiérarchie

Classe de CInternetFile

CHttpConnection::OpenRequest

Classe de CFtpConnection

Classe de CGopherConnection

Classe de CInternetConnection