Share via


CHttpConnection-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Beheert uw verbinding met een HTTP-server.

Syntaxis

class CHttpConnection : public CInternetConnection

Leden

Openbare constructors

Naam Description
CHttpConnection::CHttpConnection Hiermee maakt u een CHttpConnection object.

Openbare methoden

Naam Description
CHttpConnection::OpenRequest Hiermee opent u een HTTP-aanvraag.

Opmerkingen

HTTP is een van de drie internetserverprotocollen die zijn geïmplementeerd door de MFC WinInet-klassen.

De klasse CHttpConnection bevat een constructor en één lidfunctie, OpenRequest, die verbindingen met een server met een HTTP-protocol beheert.

Als u wilt communiceren met een HTTP-server, moet u eerst een exemplaar van CInternetSession maken en vervolgens een CHttpConnection-object maken. U maakt nooit rechtstreeks een CHttpConnection object. Roep CInternetSession::GetHttpConnection aan, waarmee het CHttpConnection object wordt gemaakt en een aanwijzer naar het object wordt geretourneerd.

Zie het artikel Internetprogrammering met WinInet voor meer informatie over het CHttpConnection werken met de andere MFC-internetklassen. Zie de klassen CGopherConnection en CFtpConnection voor meer informatie over het maken van verbinding met servers met behulp van de andere twee ondersteunde internetprotocollen gopher en FTP.

Overnamehiërarchie

CObject

CInternetConnection

CHttpConnection

Requirements

Koptekst: afxinet.h

CHttpConnection::CHttpConnection

Deze lidfunctie wordt aangeroepen om een CHttpConnection object te maken.

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);

Parameterwaarden

pSession
Een aanwijzer naar een CInternetSession-object .

hConnected
Een ingang naar een internetverbinding.

pstrServer
Een aanwijzer naar een tekenreeks met de servernaam.

dwContext
De context-id voor het CInternetConnection object. Zie de sectie Opmerkingen voor meer informatie over dwContext.

nPort
Het nummer waarmee de internetverbinding voor deze verbinding wordt geïdentificeerd.

pstrUserName
Aanwijzer naar een tekenreeks met null-beëindiging waarmee de naam van de gebruiker wordt opgegeven om zich aan te melden. Als NULL is, is de standaardwaarde anoniem.

pstrPassword
Een aanwijzer naar een tekenreeks met null-beëindiging waarmee het wachtwoord wordt opgegeven dat moet worden gebruikt om u aan te melden. Als zowel pstrPassword als pstrUserName NULL zijn, is het standaard anonieme wachtwoord de e-mailadresnaam van de gebruiker. Als pstrPassword NULL of een lege tekenreeks is, maar pstrUserName niet NULL is, wordt een leeg wachtwoord gebruikt. In de volgende tabel wordt het gedrag beschreven voor de vier mogelijke instellingen van pstrUserName en pstrPassword:

pstrUserName pstrPassword Gebruikersnaam verzonden naar FTP-server Wachtwoord verzonden naar FTP-server
NULL of " " NULL of " " "anoniem" E-mailnaam van gebruiker
Niet-NULL-tekenreeks NULL of " " pstrUserName " "
NUL Niet-NULL-tekenreeks ERROR ERROR
Niet-NULL-tekenreeks Niet-NULL-tekenreeks pstrUserName pstrPassword

dwFlags
Elke combinatie van de INTERNET_FLAG_* vlaggen. Zie de tabel in de sectie Opmerkingen van CHttpConnection::OpenRequest voor een beschrijving van dwFlags-waarden .

Opmerkingen

U maakt nooit rechtstreeks een CHttpConnection . In plaats daarvan maakt u een object door CInternetSession::GetHttpConnection aan te roepen.

CHttpConnection::OpenRequest

Roep deze lidfunctie aan om een HTTP-verbinding te openen.

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);

Parameterwaarden

pstrVerb
Een aanwijzer naar een tekenreeks die het werkwoord bevat dat in de aanvraag moet worden gebruikt. Als NULL wordt gebruikt, wordt GET gebruikt.

pstrObjectName
Een aanwijzer naar een tekenreeks die het doelobject van het opgegeven werkwoord bevat. Deze tekenreeks is doorgaans een bestandsnaam, een uitvoerbare module of een zoekaanduiding.

pstrReferer
Een aanwijzer naar een tekenreeks waarmee het adres (URL) van het document wordt opgegeven waaruit de URL in de aanvraag (pstrObjectName) is verkregen. Als NULL is, wordt er geen HTTP-header opgegeven.

dwContext
De context-id voor de OpenRequest bewerking. Zie de sectie Opmerkingen voor meer informatie over dwContext.

ppstrAcceptTypes
Een aanwijzer naar een null-beëindigde matrix van LPCTSTR-aanwijzers naar tekenreeksen die aangeven dat inhoudstypen door de client worden geaccepteerd. Als ppstrAcceptTypes NULL is, interpreteren de servers dat de client alleen documenten van het type 'tekst/*' accepteert (dat wil gezegd alleen tekstdocumenten en geen afbeeldingen of andere binaire bestanden). Het inhoudstype is gelijk aan de CGI-variabele CONTENT_TYPE, waarmee het type gegevens wordt geïdentificeerd voor query's die informatie hebben gekoppeld, zoals HTTP POST en PUT.

pstrVersion
Een aanwijzer naar een tekenreeks die de HTTP-versie definieert. Als NULL wordt gebruikt, wordt HTTP/1.0 gebruikt.

dwFlags
Elke combinatie van de INTERNET_ FLAG_* vlaggen. Zie de sectie Opmerkingen voor een beschrijving van mogelijke dwFlags-waarden .

nVerb
Een getal dat is gekoppeld aan het HTTP-aanvraagtype. Dit kan een van de volgende zijn:

HTTP-aanvraagtype nVerb-waarde
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

Retourwaarde

Een aanwijzer naar het aangevraagde CHttpFile-object .

Opmerkingen

dwFlags kan een van de volgende zijn:

Internetvlag Description
INTERNET_FLAG_RELOAD Hiermee wordt een download van het aangevraagde bestand, object of mapbestand van de oorspronkelijke server afgevraagd, niet uit de cache.
INTERNET_FLAG_DONT_CACHE Voegt de geretourneerde entiteit niet toe aan de cache.
INTERNET_FLAG_MAKE_PERSISTENT Voegt de geretourneerde entiteit toe aan de cache als een permanente entiteit. Dit betekent dat standaardcacheopruiming, consistentiecontrole of garbagecollection dit item niet uit de cache kan verwijderen.
INTERNET_FLAG_SECURE Maakt gebruik van veilige transactiesemantiek. Het vertaalt zich in het gebruik van SSL/PCT en is alleen zinvol in HTTP-aanvragen
INTERNET_FLAG_NO_AUTO_REDIRECT Alleen gebruikt met HTTP, geeft aan dat omleidingen niet automatisch moeten worden verwerkt in CHttpFile::SendRequest.

Overschrijf de dwContext standaardinstelling om de context-id in te stellen op een waarde van uw keuze. De context-id is gekoppeld aan deze specifieke bewerking van het object dat is gemaakt door het CHttpConnectionCInternetSession-object . De waarde wordt geretourneerd naar CInternetSession::OnStatusCallback om de status op te geven van de bewerking waarmee deze wordt geïdentificeerd. Zie het artikel Internet First Steps: WinInet voor meer informatie over de context-id.

Uitzonderingen kunnen worden gegenereerd met deze functie.

Zie ook

CInternetConnection-klasse
Hiërarchiegrafiek
CInternetConnection-klasse
CHttpFile-klasse