Teilen über


CHttpConnection-Klasse

Verwaltet die Verbindung mit einem HTTP-Server.

Syntax

class CHttpConnection : public CInternetConnection

Member

Öffentliche Konstruktoren

Name Beschreibung
CHttpConnection::CHttpConnection Erstellt ein CHttpConnection-Objekt.

Öffentliche Methoden

Name Beschreibung
CHttpConnection::OpenRequest Öffnet eine HTTP-Anforderung.

Hinweise

HTTP ist eines von drei Internetserverprotokollen, die von den MFC WinInet-Klassen implementiert werden.

Die Klasse CHttpConnection enthält einen Konstruktor und eine Memberfunktion, OpenRequest, die Verbindungen mit einem Server mit einem HTTP-Protokoll verwaltet.

Um mit einem HTTP-Server zu kommunizieren, müssen Sie zuerst eine Instanz von CInternetSession erstellen und dann ein CHttpConnection-Objekt erstellen. Sie erstellen ein CHttpConnection Objekt nie direkt. Rufen Sie stattdessen CInternetSession::GetHttpConnection auf, das das CHttpConnection Objekt erstellt und einen Zeiger darauf zurückgibt.

Weitere Informationen zur CHttpConnection Funktionsweise mit den anderen MFC-Internetklassen finden Sie im Artikel "Internet Programming with WinInet". Weitere Informationen zum Herstellen einer Verbindung mit Servern mit den anderen beiden unterstützten Internetprotokollen, Gopher und FTP, finden Sie unter den Klassen CGopherConnection und CFtpConnection.

Vererbungshierarchie

CObject

CInternetConnection

CHttpConnection

Anforderungen

Kopfzeile: afxinet.h

CHttpConnection::CHttpConnection

Diese Memberfunktion wird aufgerufen, um ein CHttpConnection Objekt zu erstellen.

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

Parameter

pSession
Ein Zeiger auf ein CInternetSession-Objekt .

hConnected
Ein Handle für eine Internetverbindung.

pstrServer
Ein Zeiger auf eine Zeichenfolge, die den Servernamen enthält.

dwContext
Der Kontextbezeichner für das CInternetConnection Objekt. Weitere Informationen zu dwContext finden Sie im Abschnitt "Hinweise ".

nPort
Die Nummer, die den Internetport für diese Verbindung identifiziert.

pstrUserName
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen des Benutzers angibt, der sich anmelden soll. Wenn NULL, ist der Standardwert anonym.

pstrPassword
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die das zum Anmelden zu verwendende Kennwort angibt. Wenn sowohl pstrPassword als auch pstrUserName NULL sind, ist das standardmäßige anonyme Kennwort der E-Mail-Name des Benutzers. Wenn pstrPassword NULL oder eine leere Zeichenfolge ist, aber pstrUserName nicht NULL ist, wird ein leeres Kennwort verwendet. In der folgenden Tabelle wird das Verhalten für die vier möglichen Einstellungen von pstrUserName und pstrPassword beschrieben:

pstrUserName pstrPassword An FTP-Server gesendeter Benutzername An FTP-Server gesendetes Kennwort
NULL oder " " NULL oder " " "anonym" E-Mail-Name der Benutzerin bzw. des Benutzers
Nicht NULL-Zeichenfolge NULL oder " " pstrUserName " "
NULL Nicht NULL-Zeichenfolge FEHLER FEHLER
Nicht NULL-Zeichenfolge Nicht NULL-Zeichenfolge pstrUserName pstrPassword

dwFlags
Eine beliebige Kombination aus den INTERNET_FLAG_*-Flags. Eine Beschreibung der dwFlags-Werte finden Sie in der Tabelle im Abschnitt "Hinweise": "CHttpConnection::OpenRequest".

Hinweise

Sie erstellen nie direkt.CHttpConnection Stattdessen erstellen Sie ein Objekt, indem Sie CInternetSession::GetHttpConnection aufrufen.

CHttpConnection::OpenRequest

Rufen Sie diese Memberfunktion auf, um eine HTTP-Verbindung zu öffnen.

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

Parameter

pstrVerb
Ein Zeiger auf eine Zeichenfolge, die das Verb enthält, das in der Anforderung verwendet werden soll. Wenn NULL, wird "GET" verwendet.

pstrObjectName
Ein Zeiger auf eine Zeichenfolge, die das Zielobjekt des angegebenen Verbs enthält. Diese Zeichenfolge ist in der Regel ein Dateiname, ein ausführbares Modul oder ein Suchbezeichner.

pstrReferer
Ein Zeiger auf eine Zeichenfolge, die die Adresse (URL) des Dokuments angibt, aus dem die URL in der Anforderung (pstrObjectName) abgerufen wurde. Wenn NULL, wird kein HTTP-Header angegeben.

dwContext
Der Kontextbezeichner für den OpenRequest-Vorgang. Weitere Informationen zu dwContext finden Sie im Abschnitt "Hinweise".

ppstrAcceptTypes
Ein Zeiger auf ein null-beendetes Array von LPCTSTR-Zeigern auf Zeichenfolgen, die inhaltstypen angeben, die vom Client akzeptiert werden. Wenn ppstrAcceptTypes NULL ist, interpretieren die Server, dass der Client nur Dokumente vom Typ "text/*" akzeptiert (d. a. nur Textdokumente und keine Bilder oder andere Binärdateien). Der Inhaltstyp entspricht der CGI-Variable CONTENT_TYPE, die den Typ der Daten für Abfragen kennzeichnet, denen Informationen wie HTTP POST und PUT angefügt sind.

pstrVersion
Ein Zeiger auf eine Zeichenfolge, mit der die HTTP-Version definiert wird. Wenn NULL, wird "HTTP/1.0" verwendet.

dwFlags
Beliebige Kombinationen der Flags INTERNET_ FLAG_*. Eine Beschreibung möglicher dwFlags-Werte finden Sie im Abschnitt "Hinweise".

nVerb
Eine mit dem HTTP-Anforderungstyp verknüpfte Zahl. Dabei kann es sich um eine der folgenden Methoden handeln:

HTTP-Anforderungstyp nVerb-Wert
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

Rückgabewert

Ein Zeiger auf das angeforderte CHttpFile-Objekt .

Hinweise

dwFlags können eine der folgenden Sein:

Internet-Flag Beschreibung
INTERNET_FLAG_RELOAD Erzwingt einen Download der angeforderten Datei, des angeforderten Objekts oder der angeforderten Verzeichnisliste vom ursprünglichen Server, nicht aus dem Cache.
INTERNET_FLAG_DONT_CACHE Fügt die zurückgegebene Entität nicht zum Cache hinzu.
INTERNET_FLAG_MAKE_PERSISTENT Fügt die zurückgegebene Entität dem Cache als permanente Entität hinzu. Dies bedeutet, dass die standardmäßige Cachebereinigung, Konsistenzüberprüfung oder Garbage Collection dieses Element nicht aus dem Cache entfernen kann.
INTERNET_FLAG_SECURE Verwendung eine sichere Transaktionssemantik. Es wird in die Verwendung von SSL/PCT übersetzt und ist nur in HTTP-Anforderungen aussagekräftig.
INTERNET_FLAG_NO_AUTO_REDIRECT Wird nur mit HTTP verwendet, gibt an, dass Umleitungen nicht automatisch in CHttpFile::SendRequest behandelt werden sollen.

Überschreiben Sie den dwContext-Standard, um den Kontextbezeichner auf einen ausgewählten Wert festzulegen. Der Kontextbezeichner ist diesem spezifischen Vorgang des Objekts zugeordnet, das von seinem CHttpConnection CInternetSession-Objekt erstellt wurde. Der Wert wird an CInternetSession::OnStatusCallback zurückgegeben, um den Status für den Vorgang bereitzustellen, mit dem er identifiziert wird. Weitere Informationen zum Kontextbezeichner finden Sie im Artikel "Internet First Steps: WinInet ".

Mit dieser Funktion können Ausnahmen ausgelöst werden.

Siehe auch

CInternetConnection-Klasse
Hierarchiediagramm
CInternetConnection-Klasse
CHttpFile-Klasse