Partager via


CHttpConnection, classe

Gère votre connexion à un serveur HTTP.

Syntaxe

class CHttpConnection : public CInternetConnection

Membres

Constructeurs publics

Nom Description
CHttpConnection ::CHttpConnection Crée un objet CHttpConnection.

Méthodes publiques

Nom Description
CHttpConnection ::OpenRequest Ouvre une requête HTTP.

Notes

HTTP est l’un des trois protocoles de serveur Internet implémentés par les classes WinInet MFC.

La classe CHttpConnection contient un constructeur et une fonction membre, OpenRequest, qui gère les connexions à un serveur avec un protocole HTTP.

Pour communiquer avec un serveur HTTP, vous devez d’abord créer une instance de CInternetSession, puis créer un objet CHttpConnection . Vous ne créez jamais d’objet CHttpConnection directement ; appelez plutôt CInternetSession ::GetHttpConnection, qui crée l’objet CHttpConnection et retourne un pointeur vers celui-ci.

Pour en savoir plus sur CHttpConnection l’utilisation des autres classes Internet MFC, consultez l’article Programmation Internet avec WinInet. Pour plus d’informations sur la connexion à des serveurs à l’aide des deux autres protocoles Internet pris en charge, gopher et FTP, consultez les classes CGopherConnection et CFtpConnection.

Hiérarchie d'héritage

CObject

CInternetConnection

CHttpConnection

Spécifications

En-tête : afxinet.h

CHttpConnection ::CHttpConnection

Cette fonction membre est appelée pour construire un CHttpConnection objet.

CHttpConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

Paramètres

pSession
Pointeur vers un objet CInternetSession .

hConnected
Handle vers une connexion Internet.

pstrServer
Pointeur vers une chaîne contenant le nom du serveur.

dwContext
Identificateur de contexte de l’objet CInternetConnection . Pour plus d’informations sur dwContext, consultez la section Remarques .

nPort
Numéro qui identifie le port Internet pour cette connexion.

pstrUserName
Pointeur vers une chaîne terminée par null qui spécifie le nom de l’utilisateur à connecter. Si la valeur est NULL, la valeur par défaut est anonyme.

pstrPassword
Pointeur vers une chaîne terminée par null qui spécifie le mot de passe à utiliser pour se connecter. Si pstrPassword et pstrUserName sont NULL, le mot de passe anonyme par défaut est le nom de messagerie de l’utilisateur. Si pstrPassword a la valeur NULL ou une chaîne vide, mais pstrUserName n’est pas NULL, un mot de passe vide est utilisé. Le tableau suivant décrit le comportement des quatre paramètres possibles de pstrUserName et pstrPassword :

pstrUserName pstrPassword Nom d’utilisateur envoyé au serveur FTP Mot de passe envoyé au serveur FTP
NULL ou « » NULL ou « » « anonyme » Nom de l’adresse e-mail de l’utilisateur
Chaîne non NULL NULL ou « » pstrUserName " "
NULL Chaîne non NULL ERROR ERROR
Chaîne non NULL Chaîne non NULL pstrUserName pstrPassword

dwFlags
Toute combinaison des indicateurs INTERNET_FLAG_*. Consultez le tableau de la section Notes de CHttpConnection ::OpenRequest pour obtenir une description des valeurs dwFlags .

Notes

Vous ne créez jamais directement.CHttpConnection Au lieu de cela, vous créez un objet en appelant CInternetSession ::GetHttpConnection.

CHttpConnection ::OpenRequest

Appelez cette fonction membre pour ouvrir une connexion HTTP.

CHttpFile* OpenRequest(
    LPCTSTR pstrVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

CHttpFile* OpenRequest(
    int nVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

Paramètres

pstrVerb
Pointeur vers une chaîne contenant le verbe à utiliser dans la requête. Si la valeur EST NULL, « GET » est utilisé.

pstrObjectName
Pointeur vers une chaîne contenant l’objet cible du verbe spécifié. Cette chaîne est généralement un nom de fichier, un module exécutable ou un spécificateur de recherche.

pstrRefererer
Pointeur vers une chaîne qui spécifie l’adresse (URL) du document à partir duquel l’URL de la requête (pstrObjectName) a été obtenue. Si la valeur est NULL, aucun en-tête HTTP n’est spécifié.

dwContext
Identificateur de contexte de l’opération OpenRequest . Pour plus d’informations sur dwContext, consultez la section Remarques.

ppstrAcceptTypes
Pointeur vers un tableau null de pointeurs LPCTSTR vers des chaînes indiquant les types de contenu acceptés par le client. Si ppstrAcceptTypes a la valeur NULL, les serveurs interprètent que le client accepte uniquement les documents de type « text/* » (autrement dit, seuls les documents texte et non les images ou d’autres fichiers binaires). Le type de contenu est équivalent à la variable CGI CONTENT_TYPE, qui identifie le type de données pour les requêtes qui ont joint des informations, telles que HTTP POST et PUT.

pstrVersion
Pointeur vers une chaîne définissant la version HTTP. Si la valeur EST NULL, « HTTP/1.0 » est utilisée.

dwFlags
Combinaison des indicateurs INTERNET_ FLAG_*. Consultez la section Remarques pour obtenir une description des valeurs dwFlags possibles.

nVerb
Nombre associé au type de requête HTTP. Il peut s'agir d'une des méthodes suivantes :

Type de requête HTTP Valeur nVerb
HTTP_VERB_POST 0
HTTP_VERB_GET 1
HTTP_VERB_HEAD 2
HTTP_VERB_PUT 3
HTTP_VERB_LINK 4
HTTP_VERB_DELETE 5
HTTP_VERB_UNLINK 6

Valeur de retour

Pointeur vers l’objet CHttpFile demandé.

Notes

dwFlags peut être l’un des éléments suivants :

Indicateur Internet Description
INTERNET_FLAG_RELOAD Force le téléchargement du fichier, de l’objet ou de la liste de répertoires demandés à partir du serveur d’origine, et non à partir du cache.
INTERNET_FLAG_DONT_CACHE N’ajoute pas l’entité retournée au cache.
INTERNET_FLAG_MAKE_PERSISTENT Ajoute l’entité retournée au cache en tant qu’entité persistante. Cela signifie que le nettoyage du cache standard, la vérification de cohérence ou le garbage collection ne peuvent pas supprimer cet élément du cache.
INTERNET_FLAG_SECURE Utilise la sémantique des transactions sécurisées. Il se traduit par l’utilisation de SSL/PCT et n’est significatif que dans les requêtes HTTP
INTERNET_FLAG_NO_AUTO_REDIRECT Utilisé uniquement avec HTTP, spécifie que les redirections ne doivent pas être gérées automatiquement dans CHttpFile ::SendRequest.

Remplacez la dwContext valeur par défaut pour définir l’identificateur de contexte sur une valeur de votre choix. L’identificateur de contexte est associé à cette opération spécifique de l’objet CHttpConnection créé par son objet CInternetSession . La valeur est retournée à CInternetSession ::OnStatusCallback pour fournir l’état de l’opération avec laquelle elle est identifiée. Pour plus d’informations sur l’identificateur de contexte, consultez l’article Sur Internet First Steps : WinInet .

Les exceptions peuvent être levées avec cette fonction.

Voir aussi

CInternetConnection, classe
Graphique hiérarchique
CInternetConnection, classe
CHttpFile, classe