CInternetSession
-Klasse
Erstellt und initialisiert einzelne oder mehrere gleichzeitige Internetsitzungen und beschreibt ggf. die Verbindung mit einem Proxyserver.
Syntax
class CInternetSession : public CObject
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CInternetSession::CInternetSession |
Erstellt ein CInternetSession -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CInternetSession::Close |
Beendet die Internetverbindung, wenn die Internetsitzung beendet wird. |
CInternetSession::EnableStatusCallback |
Richtet eine Statusrückrufroutine ein. |
CInternetSession::GetContext |
Beendet die Internetverbindung, wenn die Internetsitzung beendet wird. |
CInternetSession::GetCookie |
Gibt Cookies für die angegebene URL und alle übergeordneten URLs zurück. |
CInternetSession::GetCookieLength |
Ruft die Variable ab, die die Länge des im Puffer gespeicherten Cookies angibt. |
CInternetSession::GetFtpConnection |
Öffnet eine FTP-Sitzung mit einem Server. Meldet eine Benutzerin bzw. einen Benutzer an. |
CInternetSession::GetGopherConnection |
Öffnet einen Gopher-Server für eine Anwendung, die versucht, eine Verbindung herzustellen. |
CInternetSession::GetHttpConnection |
Öffnet einen HTTP-Server für eine Anwendung, die versucht, eine Verbindung herzustellen. |
CInternetSession::OnStatusCallback |
Aktualisiert den Status eines Vorgangs, wenn der Statusrückruf aktiviert ist. |
CInternetSession::OpenURL |
Analysiert und öffnet eine URL. |
CInternetSession::SetCookie |
Legt ein Cookie für die angegebene URL fest. |
CInternetSession::SetOption |
Legt Optionen für die Internetsitzung fest. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CInternetSession::operator HINTERNET |
Ein Handle für die aktuelle Internetsitzung. |
Hinweise
Wenn Ihre Internetverbindung für die Dauer einer Anwendung beibehalten werden muss, können Sie ein CInternetSession
-Member der Klasse CWinApp
erstellen.
Nachdem Sie eine Internetsitzung eingerichtet haben, können Sie OpenURL
aufrufen. CInternetSession
analysiert dann die URL für Sie durch Aufrufen der globalen Funktion AfxParseURL
. Unabhängig vom Protokolltyp interpretiert CInternetSession
die URL und verwaltet sie für Sie. Sie kann Anforderungen für lokale Dateien verarbeiten, die mit der URL-Ressource „file://“ identifiziert wurden. OpenURL
gibt einen Zeiger auf ein CStdioFile
-Objekt zurück, wenn der übergebene Name eine lokale Datei ist.
Wenn Sie eine URL auf einem Internetserver mithilfe von OpenURL
öffnen, können Sie Informationen von der Website lesen. Wenn Sie dienstspezifische Aktionen (z. B. HTTP, FTP oder Gopher) für Dateien auf einem Server ausführen möchten, müssen Sie die entsprechende Verbindung mit diesem Server herstellen. Verwenden Sie eine der folgenden Memberfunktionen, um eine bestimmte Art von Verbindung direkt mit einem bestimmten Dienst zu öffnen:
GetGopherConnection
für eine Verbindung mit einem Gopher-Dienst.GetHttpConnection
für eine Verbindung mit einem HTTP-Dienst.GetFtpConnection
für eine Verbindung mit einem FTP-Dienst.
SetOption
ermöglicht ihnen, die Abfrageoptionen Ihrer Sitzung festzulegen, z. B. Timeoutwerte, Anzahl der Wiederholungen usw.
Die CInternetSession
-Memberfunktionen SetCookie
, GetCookie
und GetCookieLength
ermöglichen die Verwaltung einer Win32-Cookie-Datenbank, in der Server und Skripte Statusinformationen über die Client-Arbeitsstation speichern.
Weitere Informationen zu grundlegenden Internetprogrammieraufgaben finden Sie im Artikel Erste Schritte mit dem Internet: WinInet
. Allgemeine Informationen zur Verwendung der MFC-Klassen WinInet
finden Sie im Artikel Internetprogrammierung mit WinInet
.
Hinweis
CInternetSession
löst einen AfxThrowNotSupportedException
-Fehler für nicht unterstützte Diensttypen aus. Derzeit werden nur die folgenden Diensttypen unterstützt: FTP, HTTP, Gopher und Datei.
Vererbungshierarchie
CObject
CInternetSession
Anforderungen
Header: afxinet.h
CInternetSession::CInternetSession
Diese Memberfunktion wird aufgerufen, wenn ein CInternetSession
-Objekt erstellt wird.
CInternetSession(
LPCTSTR pstrAgent = NULL,
DWORD_PTR dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = 0);
Parameter
pstrAgent
Ein Zeiger auf eine Zeichenfolge, die den Namen der Anwendung oder Entität identifiziert, die die Internetfunktionen aufruft (z. B. „Microsoft Internet Browser“). Wenn pstrAgent
NULL
(der Standardwert), ruft das Framework die globale Funktion AfxGetAppName
auf, die eine null-beendete Zeichenfolge zurückgibt, die den Namen einer Anwendung enthält. Einige Protokolle verwenden diese Zeichenfolge, um Ihre Anwendung auf dem Server zu identifizieren.
dwContext
Der Kontextbezeichner für den -Vorgang. dwContext
identifiziert die Statusinformationen des Vorgangs, die von CInternetSession::OnStatusCallback
zurückgegeben werden. Der Standardwert ist auf 1 festgelegt; Sie können jedoch explizit eine bestimmte Kontext-ID für den Vorgang zuweisen. Das Objekt und alle Arbeiten, die es ausführt, werden mit dieser Kontext-ID verknüpft.
dwAccessType
Der erforderliche Zugriffstyp. Es folgen gültige Werte, von denen genau einer angegeben werden kann:
INTERNET_OPEN_TYPE_PRECONFIG
Stellen Sie eine Verbindung mit vorkonfigurierten Einstellungen in der Registrierung her. Dieser Zugriffstyp wird als Standard festgelegt. Um eine Verbindung über einen TIS-Proxy herzustellen, legen SiedwAccessType
auf diesen Wert fest. Anschließend legen Sie die Registrierung entsprechend fest.INTERNET_OPEN_TYPE_DIRECT
Stellen Sie eine direkte Verbindung mit dem Internet her.INTERNET_OPEN_TYPE_PROXY
Stellen Sie eine Verbindung über einen CERN-Proxy her.
Informationen zum Herstellen einer Verbindung mit verschiedenen Proxytypen finden Sie in Schritte in einer typischen FTP-Clientanwendung.
pstrProxyName
Der Name des bevorzugten CERN-Proxys, wenn dwAccessType
als INTERNET_OPEN_TYPE_PROXY
festgelegt ist. Der Standardwert ist NULL
.
pstrProxyBypass
Ein Zeiger auf eine Zeichenfolge, die eine optionale Liste von Serveradressen enthält. Diese Adressen können bei Verwendung des Proxyzugriffs umgangen werden. Wenn ein NULL
-Wert angegeben wird, wird die Umgehungsliste aus der Registrierung gelesen. Dieser Parameter ist nur dann sinnvoll, wenn dwAccessType
auf INTERNET_OPEN_TYPE_PROXY
festgelegt ist.
dwFlags
Gibt verschiedene Zwischenspeicherungsoptionen an. Die Standardeinstellung ist 0. Mögliche Werte sind:
INTERNET_FLAG_DONT_CACHE
Speichern Sie die Daten weder lokal noch auf Gatewayservern zwischen.INTERNET_FLAG_OFFLINE
Vorgänge zum Herunterladen werden nur über den persistenten Cache abgewickelt. Wenn das Element im Cache nicht vorhanden ist, wird ein entsprechender Fehlercode zurückgegeben. Dieses Flag kann mit dem bitweisen Operator „or“ (|
) kombiniert werden.
Hinweise
CInternetSession
ist die erste Internetfunktion, die von einer Anwendung aufgerufen wird. Sie initialisiert interne Datenstrukturen und bereitet zukünftige Aufrufe der Anwendung vor.
Wenn keine Internetverbindung geöffnet werden kann, löst CInternetSession
eine AfxThrowInternetException
aus.
Beispiel
Ein Beispiel hierfür finden Sie unter CFtpFileFind
.
CInternetSession::Close
Rufen Sie diese Memberfunktion auf, wenn die Anwendung die Verwendung des CInternetSession
-Objekts beendet hat.
virtual void Close();
Beispiel
Ein Beispiel hierfür finden Sie unter CFtpFileFind
.
CInternetSession::EnableStatusCallback
Rufen Sie diese Memberfunktion auf, um den Status-Callback zu aktivieren.
BOOL EnableStatusCallback(BOOL bEnable = TRUE);
Parameter
bEnable
Gibt an, ob der Callback aktiviert oder deaktiviert ist. Der Standardwert ist TRUE
.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null). Wenn der Aufruf fehlschlägt, bestimmen Sie die Ursache des Fehlers, indem Sie das ausgelöste CInternetException
-Objekt untersuchen.
Hinweise
Wenn Sie den Status-Callback verwenden, können Sie den Fortschritt des Vorgangs (z. B. Namensauflösung, Verbindung zum Server usw.) in der Statusleiste der Anwendung anzeigen. Die Anzeige des Vorgangsstatus ist vor allem während eines langfristigen Vorgangs wünschenswert.
Da Callbacks während der Verarbeitung der Anforderung auftreten, sollte die Anwendung so wenig Zeit wie möglich im Callback verbringen, um eine Beeinträchtigung des Datendurchsatzes im Netzwerk zu vermeiden. So kann z. B. das Einrichten eines Dialogfelds in einem Callback ein so langwieriger Vorgang sein, dass der Server die Anforderung abbricht.
Der Status-Callback kann nicht entfernt werden, solange irgendwelche Callbacks ausstehen.
Um Vorgänge asynchron zu bearbeiten, müssen Sie entweder einen eigenen Thread erstellen oder die WinInet-Funktionen ohne MFC verwenden.
CInternetSession::GetContext
Rufen Sie diese Memberfunktion auf, um den Kontextwert für eine bestimmte Anwendungssitzung zu erhalten.
DWORD_PTR GetContext() const;
Rückgabewert
Der von der Anwendung definierte Kontextbezeichner.
Hinweise
OnStatusCallback
verwendet die von GetContext
zurückgegebene Kontext-ID, um den Status einer bestimmten Anwendung zu melden. Wenn eine Benutzerin oder ein Benutzer zum Beispiel eine Internet-Anforderung aktiviert, die die Rückgabe von Statusinformationen beinhaltet, verwendet der Status-Callback die Kontext-ID, um den Status dieser bestimmten Anforderung zu melden. Wenn die Benutzerin oder der Benutzer zwei separate Internet-Anforderungen aktiviert, die beide die Rückgabe von Statusinformationen beinhalten, verwendet OnStatusCallback
die Kontextkennungen, um den Status der entsprechenden Anforderungen zurückzugeben. Folglich wird die Kontextkennung für alle Status-Callback-Vorgänge verwendet und ist mit der Sitzung verbunden, bis diese beendet wird.
Weitere Informationen über asynchrone Vorgänge finden Sie in dem Artikel Erste Schritte mit dem Internet: WinInet.
CInternetSession::GetCookie
Diese Memberfunktion implementiert das Verhalten der Win32-Funktion InternetGetCookie
, wie im Windows SDK beschrieben.
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPTSTR pstrCookieData,
DWORD dwBufLen);
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
CString& strCookieData);
Parameter
pstrUrl
Ein Zeiger auf eine Zeichenfolge, die die URL enthält.
pstrCookieName
Ein Zeiger auf eine Zeichenfolge, die den Namen des Cookies enthält, der für die angegebene URL abgerufen werden soll.
pstrCookieData
In der ersten Überladung zeigt ein Zeiger auf eine Zeichenfolge, die die Adresse des Puffers enthält, der die Cookiedaten empfängt. Dieser Wert kann NULL
sein. In der zweiten Überladung wird ein Verweis auf ein CString
-Objekt zum Empfangen der Cookiedaten verwendet.
dwBufLen
Die Variable, die die Größe des pstrCookieData
-Puffers angibt. Wenn die Funktion erfolgreich ist, empfängt der Puffer die Datenmenge, die in den pstrCookieData
-Puffer kopiert wurde. Wenn pstrCookieData
NULL
ist, erhält dieser Parameter einen Wert, der die Größe des Puffers angibt, der zum Kopieren aller Cookiedaten erforderlich ist.
Rückgabewert
Gibt bei Erfolg TRUE
zurück; andernfalls FALSE
. Wenn der Aufruf fehlschlägt, rufen Sie die Win32-Funktion GetLastError
auf, um die Ursache des Fehlers zu ermitteln. Die folgenden Fehlerwerte gelten:
ERROR_NO_MORE_ITEMS
Es gibt kein Cookie für die angegebene URL und alle übergeordneten URLs.ERROR_INSUFFICIENT_BUFFER
Der übergebenedwBufLen
-Wert reicht nicht aus, um alle Cookiedaten zu kopieren. Der zurückgegebene WertdwBufLen
ist die Größe des Puffers, der zum Abrufen aller Daten erforderlich ist.
Hinweise
In der zweiten Überladung ruft MFC die Cookiedaten in das bereitgestellte CString
-Objekt ab.
CInternetSession::GetCookieLength
Rufen Sie diese Memberfunktion auf, um die Länge des im Puffer gespeicherten Cookies abzurufen.
static DWORD GetCookieLength(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName);
Parameter
pstrUrl
Ein Zeiger auf eine Zeichenfolge, die die URL enthält
pstrCookieName
Ein Zeiger auf eine Zeichenfolge, die den Namen des festzulegenden Wert enthält.
Rückgabewert
Ein DWORD
-Wert, der die Länge des Cookies angibt, das im Puffer gespeichert ist. Null, wenn kein Cookie mit dem durch pstrCookieName
angegebenen Namen existiert.
Hinweise
Dieser Wert wird von GetCookie
verwendet.
CInternetSession::GetFtpConnection
Rufen Sie diese Memberfunktion auf, um eine FTP-Verbindung aufzubauen und einen Zeiger auf ein CFtpConnection
-Objekt abzurufen.
CFtpConnection* GetFtpConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
BOOL bPassive = FALSE);
Parameter
pstrServer
Ein Zeiger auf eine Zeichenfolge, die den FTP-Servernamen enthält.
pstrUserName
Zeiger auf eine nullterminierte Zeichenkette, die den Namen der Benutzerin bzw. des Benutzers angibt, die bzw. der sich anmelden soll. Bei NULL
ist die Standardeinstellung „Anonymous“.
pstrPassword
Ein Zeiger auf eine nullterminierte Zeichenkette, die das Kennwort für die Anmeldung angibt. Wenn sowohl pstrPassword
und pstrUserName
NULL
ist, ist das standardmäßige anonyme Kennwort der E-Mail-Name der Benutzerin oder des Benutzers. Wenn pstrPassword
NULL
ist (oder eine leere Zeichenfolge), aber pstrUserName
nicht NULL
ist, wird ein leeres Kennwort verwendet. Die folgende Tabelle beschreibt das Verhalten für die vier möglichen Einstellungen von pstrUserName
und pstrPassword
:
pstrUserName |
pstrPassword |
An FTP-Server gesendeter Benutzername | An FTP-Server gesendetes Kennwort |
---|---|---|---|
NULL oder " " |
NULL oder " " |
"anonymous" |
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 |
nPort
Eine Zahl, die den auf dem Server zu verwendenden TCP/IP-Port angibt.
bPassive
Gibt den passiven oder aktiven Modus für diese FTP-Sitzung an. Wenn TRUE
festgelegt ist, wird die Win32-API dwFlag
auf INTERNET_FLAG_PASSIVE
gesetzt.
Rückgabewert
Ein Zeiger auf ein CFtpConnection
-Objekt. Wenn der Aufruf fehlschlägt, bestimmen Sie die Ursache des Fehlers, indem Sie das ausgelöste CInternetException
-Objekt untersuchen.
Hinweise
GetFtpConnection
stellt eine Verbindung mit einem FTP-Server her und erstellt und gibt einen Zeiger auf ein CFTPConnection
-Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie z. B. Dateien lesen oder schreiben wollen, müssen Sie diese Vorgänge in separaten Schritten durchführen. In den Klassen CFtpConnection
und CFtpFileFind
finden Sie Informationen zur Suche nach Dateien, zum Öffnen von Dateien und zum Lesen oder Schreiben von Dateien. Im Artikel Internetprogrammierung mit WinInet finden Sie Schritte zur Durchführung gängiger FTP-Verbindungsaufgaben.
Beispiel
Ein Beispiel hierfür finden Sie unter CFtpFileFind
.
CInternetSession::GetGopherConnection
Rufen Sie diese Memberfunktion auf, um eine neue Gopherverbindung aufzubauen und einen Zeiger auf ein CGopherConnection
-Objekt abzurufen.
CGopherConnection* GetGopherConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Parameter
pstrServer
Ein Zeiger auf eine Zeichenfolge, die den Gopher-Servernamen enthält.
pstrUserName
Ein Zeiger auf eine Zeichenfolge, die den Benutzernamen enthält.
pstrPassword
Ein Zeiger auf eine Zeichenfolge, die das Zugriffskennwort enthält.
nPort
Eine Zahl, die den auf dem Server zu verwendenden TCP/IP-Port angibt.
Rückgabewert
Ein Zeiger auf ein CGopherConnection
-Objekt. Wenn der Aufruf fehlschlägt, bestimmen Sie die Ursache des Fehlers, indem Sie das ausgelöste CInternetException
-Objekt untersuchen.
Hinweise
GetGopherConnection
stellt eine Verbindung mit einem Gopher-Server her und erstellt und gibt einen Zeiger auf ein CGopherConnection
-Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie z. B. Daten lesen oder schreiben wollen, müssen Sie diese Vorgänge in separaten Schritten durchführen. In den Klassen CGopherConnection
, CGopherFile
und CGopherFileFind
finden Sie Informationen zur Suche nach Dateien, zum Öffnen von Dateien und zum Lesen oder Schreiben von Dateien. Informationen zum Durchsuchen einer FTP-Website finden Sie in der Memberfunktion OpenURL
. Im Artikel Internetprogrammierung mit WinInet finden Sie Schritte zur Durchführung gängiger Gopher-Verbindungsaufgaben.
CInternetSession::GetHttpConnection
Rufen Sie diese Memberfunktion auf, um eine HTTP-Verbindung aufzubauen und einen Zeiger auf ein CHttpConnection
-Objekt abzurufen.
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
Parameter
pstrServer
Ein Zeiger auf eine Zeichenfolge, die den HTTP-Servernamen enthält.
nPort
Eine Zahl, die den auf dem Server zu verwendenden TCP/IP-Port angibt.
pstrUserName
Ein Zeiger auf eine Zeichenfolge, die den Benutzernamen enthält.
pstrPassword
Ein Zeiger auf eine Zeichenfolge, die das Zugriffskennwort enthält.
dwflags
Eine beliebige Kombination aus den INTERNET_FLAG_*
-Flags. In der Tabelle im Abschnitt Bemerkungen von CHttpConnection::OpenRequest
finden Sie eine Beschreibung der dwFlags
-Werte.
Rückgabewert
Ein Zeiger auf ein CHttpConnection
-Objekt. Wenn der Aufruf fehlschlägt, bestimmen Sie die Ursache des Fehlers, indem Sie das ausgelöste CInternetException
-Objekt untersuchen.
Hinweise
GetHttpConnection
stellt eine Verbindung mit einem HTTP-Server her und erstellt und gibt einen Zeiger auf ein CHttpConnection
-Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie z. B. einen HTTP-Header abfragen möchten, müssen Sie diesen Vorgang in einem separaten Schritt durchführen. In den Klassen CHttpConnection
und CHttpFile
finden Sie Informationen zu Vorgängen, die Sie über eine Verbindung zu einem HTTP-Server durchführen können. Informationen zum Durchsuchen einer HTTP-Website finden Sie in der Memberfunktion OpenURL
. Im Artikel Internetprogrammierung mit WinInet finden Sie Schritte zur Durchführung gängiger HTTP-Verbindungsaufgaben.
CInternetSession::OnStatusCallback
Diese Memberfunktion wird vom Framework aufgerufen, um den Status zu aktualisieren, wenn der Status-Callback aktiviert ist und ein Vorgang aussteht.
virtual void OnStatusCallback(
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength);
Parameter
dwContext
Der von der Anwendung bereitgestellte Kontextwert.
dwInternetStatus
Ein Statuscode, der angibt, warum der Callback durchgeführt wird. Weitere Informationen finden Sie in den Anmerkungen zu einer Tabelle möglicher Werten.
lpvStatusInformation
Ein Zeiger auf einen Puffer, der Informationen enthält, die für diesen Callback relevant sind.
dwStatusInformationLength
Die Größe des lpvStatusInformation
.
Hinweise
Sie müssen zuerst EnableStatusCallback
aufrufen, um den Status-Callback zu nutzen.
Der Parameter dwInternetStatus
gibt den ausgeführten Vorgang an und bestimmt den Inhalt von lpvStatusInformation
. dwStatusInformationLength
gibt die Länge der Daten an, die in lpvStatusInformation
enthalten sind. Die folgenden Statuswerte für dwInternetStatus
sind wie folgt definiert:
Wert | Bedeutung |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
Nachschlagen der IP-Adresse des Namens, der in lpvStatusInformation enthalten ist. |
INTERNET_STATUS_NAME_RESOLVED |
Die IP-Adresse des Namens, der in lpvStatusInformation enthalten ist, wurde erfolgreich gefunden. |
INTERNET_STATUS_CONNECTING_TO_SERVER |
Herstellen einer Verbindung mit der Socketadresse (SOCKADDR ), auf die von lpvStatusInformation verwiesen wird. |
INTERNET_STATUS_CONNECTED_TO_SERVER |
Erfolgreich mit der Socketadresse (SOCKADDR ) verbunden, auf die von lpvStatusInformation verwiesen wird. |
INTERNET_STATUS_SENDING_REQUEST |
Senden der Informationsanforderung an den Server. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_REQUEST_SENT |
Die Informationsanforderung wurde erfolgreich an den Server gesendet. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_RECEIVING_RESPONSE |
Warten auf die Antwort des Servers auf eine Anforderung. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_RESPONSE_RECEIVED |
Eine Antwort vom Server wurde erfolgreich empfangen. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_CLOSING_CONNECTION |
Beenden der Verbindung mit dem Server. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_CONNECTION_CLOSED |
Die Verbindung mit dem Server wurde erfolgreich beendet. Der lpvStatusInformation -Parameter ist NULL . |
INTERNET_STATUS_HANDLE_CREATED |
Wird von der Win32-API-Funktion InternetConnect verwendet, um anzugeben, dass es das neue Handle erstellt hat. Dadurch kann die Anwendung die Win32-Funktion InternetCloseHandle aus einem anderen Thread aufrufen, wenn der Aufbau der Verbindung zu lang dauert. Weitere Informationen zu diesen Funktionen finden Sie im Windows SDK. |
INTERNET_STATUS_HANDLE_CLOSING |
Dieser Handle-Wert wurde erfolgreich beendet. |
Setzen Sie diese Memberfunktion außer Kraft, damit eine Aktion erforderlich ist, bevor eine Status-Callbackroutine ausgeführt wird.
Hinweis
Status-Callbacks benötigen Threadzustandsschutz. Wenn Sie MFC in einer freigegebenen Bibliothek verwenden, fügen Sie am Anfang der Außerkraftsetzung die folgende Zeile hinzu:
AFX_MANAGE_STATE(AfxGetAppModuleState());
Weitere Informationen über asynchrone Vorgänge finden Sie in dem Artikel Erste Schritte mit dem Internet: WinInet.
CInternetSession::OpenURL
Rufen Sie diese Memberfunktion auf, um die angegebene Anforderung an den HTTP-Server zu senden und dem Client die Möglichkeit zu geben, zusätzliche RFC822-, MIME- oder HTTP-Header anzugeben, die zusammen mit der Anforderung gesendet werden sollen.
CStdioFile* OpenURL(
LPCTSTR pstrURL,
DWORD_PTR dwContext = 1,
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
LPCTSTR pstrHeaders = NULL,
DWORD dwHeadersLength = 0);
Parameter
pstrURL
Ein Zeiger auf den Namen der URL, um mit dem Lesevorgang zu beginnen. Es werden nur URLs unterstützt, die mit file:
, ftp:
, gopher:
oder http:
beginnen. Gibt an, ob pstrURL
gleich NULL
ist.
dwContext
Ein von der Anwendung definierter Wert, der zusammen mit dem zurückgegebenen Handle im Callback übergeben wird.
dwFlags
Die Flags, die beschreiben, wie diese Verbindung verarbeitet wird. Weitere Informationen zu den gültigen Flags finden Sie in den Hinweisen. Gültige Flags sind:
INTERNET_FLAG_TRANSFER_ASCII
, der Standardwert. Übertragen Sie die Datei als ASCII-Text.INTERNET_FLAG_TRANSFER_BINARY
Übertragen Sie die Datei als Binärdatei.INTERNET_FLAG_RELOAD
Rufen Sie die Daten aus der Verbindung ab, auch wenn sie lokal zwischengespeichert ist.INTERNET_FLAG_DONT_CACHE
Speichern Sie die Daten weder lokal noch in Gateways zwischen.INTERNET_FLAG_SECURE
Dieses Flag gilt nur für HTTP-Anforderungen. Es stellt Anforderungen an die Sicherheit von Transaktionen über Kabel mit Secure Sockets Layer oder PCT.INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT
Verwenden Sie, wenn möglich, die bestehenden Verbindungen zum Server für neue, vonOpenUrl
erzeugte Anforderungen wieder, anstatt für jede Anforderung eine neue Sitzung zu erstellen.INTERNET_FLAG_PASSIVE
Wird für einen FTP-Standort verwendet. Verwendet passive FTP-Semantik. Wird mitCInternetConnection
vonOpenURL
verwendet.
pstrHeaders
Ein Zeiger auf eine Zeichenfolge, die die Header enthält, die an den HTTP-Server gesendet werden sollen.
dwHeadersLength
Die Länge der zusätzlichen Header in Zeichen. Wenn dies -1L
und pstrHeaders
nicht NULL
ist, wird davon ausgegangen, dass pstrHeaders
nullterminiert ist und die Länge berechnet wird.
Rückgabewert
Gibt nur ein Dateihandle für Internetdienste vom Typ FTP, GOPHER, HTTP und FILE zurück. Gibt NULL
zurück, wenn die Analyse nicht erfolgreich war.
Der von OpenURL
zurückgegebene Zeiger hängt vom Diensttyp von pstrURL
ab. In der folgenden Tabelle sind die möglichen Zeiger dargestellt, die von OpenURL
zurückgegeben werden können.
URL-Typ | Gibt zurück |
---|---|
file:// |
CStdioFile* |
http:// |
CHttpFile* |
gopher:// |
CGopherFile* |
ftp:// |
CInternetFile* |
Hinweise
Der Parameter dwFlags
muss INTERNET_FLAG_TRANSFER_ASCII
oder INTERNET_FLAG_TRANSFER_BINARY
enthalten, aber nicht beide gleichzeitig. Die verbleibenden Flags können mit dem bitweisen Operator „or“ (|
) kombiniert werden.
OpenURL
umschließt die Win32-Funktion InternetOpenURL
, und ermöglicht nur das Herunterladen, Abrufen und Lesen der Daten von einem Internetserver. OpenURL
ermöglicht keine Dateimanipulation an einem Remotespeicherort, sodass kein CInternetConnection
-Objekt erforderlich ist.
Um verbindungsspezifische (d.h. protokollspezifische) Funktionen zu verwenden, wie z. B. das Schreiben in eine Datei, müssen Sie eine Sitzung öffnen, dann eine bestimmte Art von Verbindung öffnen und dann diese Verbindung verwenden, um eine Datei im gewünschten Modus zu öffnen. Weitere Informationen zu verbindungsspezifischen Funktionen finden Sie unter CInternetConnection
.
CInternetSession::operator HINTERNET
Verwenden Sie diesen Operator, um das Windows-Handle für die aktuelle Internetsitzung abzurufen.
operator HINTERNET() const;
CInternetSession::SetCookie
Legt ein Cookie für die angegebene URL fest.
static BOOL SetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPCTSTR pstrCookieData);
Parameter
pstrUrl
Ein Zeiger auf eine nullterminierte Zeichenfolge, die die URL angibt, für die das Cookie festgelegt werden soll.
pstrCookieName
Ein Zeiger auf eine Zeichenfolge, die den Namen des festzulegenden Wert enthält.
pstrCookieData
Ein Zeiger auf eine Zeichenfolge, die die tatsächlichen Zeichenfolgendaten enthält, die der URL zugeordnet werden sollen.
Rückgabewert
Gibt bei Erfolg TRUE
zurück; andernfalls FALSE
. Rufen Sie GetLastError
auf, um den spezifischen Fehlercode abzurufen.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht InternetSetCookie
, wie im Windows SDK beschrieben.
CInternetSession::SetOption
Rufen Sie diese Memberfunktion auf, um Optionen für die Internetsitzung festzulegen.
BOOL SetOption(
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength,
DWORD dwFlags = 0);
BOOL SetOption(
DWORD dwOption,
DWORD dwValue,
DWORD dwFlags = 0);
Parameter
dwOption
Die festzulegende Internetoption. Eine Liste der möglichen Optionen finden Sie unter Options-Flags im Windows SDK.
lpBuffer
Ein Puffer, der die Optionseinstellung enthält.
dwBufferLength
Die Länge von lpBuffer
oder die Größe von dwValue
.
dwValue
Ein DWORD
, das die Optionseinstellung enthält.
dwFlags
Gibt verschiedene Zwischenspeicherungsoptionen an. Die Standardeinstellung ist 0. Mögliche Werte sind:
INTERNET_FLAG_DONT_CACHE
Speichern Sie die Daten weder lokal noch auf Gatewayservern zwischen.INTERNET_FLAG_OFFLINE
Vorgänge zum Herunterladen werden nur über den persistenten Cache abgewickelt. Wenn das Element im Cache nicht vorhanden ist, wird ein entsprechender Fehlercode zurückgegeben. Dieses Flag kann mit dem bitweisen Operator „or“ (|
) kombiniert werden.
Rückgabewert
Wenn der Vorgang erfolgreich war, wird ein TRUE
-Wert zurückgegeben. Wenn ein Fehler aufgetreten ist, wird ein FALSE
-Wert zurückgegeben. Wenn der Aufruf fehlschlägt, kann die Win32-Funktion GetLastError
aufgerufen werden, um die Ursache des Fehlers zu ermitteln.
Weitere Informationen
CObject
-Klasse
Hierarchiediagramm
CInternetConnection
-Klasse
CHttpConnection
-Klasse
CFtpConnection
-Klasse
CGopherConnection
-Klasse