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 Schließt die Internetverbindung, wenn die Internetsitzung beendet wird.
CInternetSession::EnableStatusCallback Richtet eine Statusrückrufroutine ein.
CInternetSession::GetContext Schließt 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 sich beim Benutzer an.
CInternetSession::GetGopherConnection Öffnet einen Gopherserver für eine Anwendung, die versucht, eine Verbindung zu öffnen.
CInternetSession::GetHttpConnection Öffnet einen HTTP-Server für eine Anwendung, die versucht, eine Verbindung zu öffnen.
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 Standard beibehalten werden muss, können Sie ein CInternetSession Mitglied der Klasse CWinApperstellen.

Nachdem Sie eine Internetsitzung eingerichtet haben, können Sie anrufen OpenURL. CInternetSession analysiert dann die URL für Sie durch Aufrufen der globalen Funktion AfxParseURL. Unabhängig vom Protokolltyp CInternetSession interpretiert sie 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 OpenURLeines Internetservers ö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:

SetOption ermöglicht ihnen, die Abfrageoptionen Ihrer Sitzung festzulegen, z. B. Timeoutwerte, Anzahl der Wiederholungen usw.

CInternetSessionmember functions SetCookie, GetCookieand GetCookieLength provide the means to manage a Win32 cookie database, through which servers and scripts Standard tain state information about the client workstation.

Weitere Informationen zu grundlegenden Internetprogrammierungsaufgaben finden Sie im Artikel Internet First Steps: WinInet. Allgemeine Informationen zur Verwendung der MFC-Klassen WinInet finden Sie im Artikel Internet Programming with 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

Headerafxinet.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 dies der Standardwert ist NULL , ruft das Framework die globale Funktion AfxGetAppNameauf, 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. Der Standardwert ist auf 1 festgelegt; Sie können jedoch explizit eine bestimmte Kontext-ID für den Vorgang zuweisen. Das Objekt und jede Arbeit, die es tut, wird dieser Kontext-ID zugeordnet.

dwAccessType
Der Typ des erforderlichen Zugriffs. Es folgen gültige Werte, von denen genau einer angegeben werden kann:

  • INTERNET_OPEN_TYPE_PRECONFIGVerbinden die vorkonfigurierten Einstellungen in der Registrierung verwenden. Dieser Zugriffstyp wird als Standard festgelegt. Um eine Verbindung über einen TIS-Proxy herzustellen, legen dwAccessType Sie diesen Wert fest. Anschließend legen Sie die Registrierung entsprechend fest.

  • INTERNET_OPEN_TYPE_DIRECTVerbinden direkt ins Internet.

  • INTERNET_OPEN_TYPE_PROXYVerbinden über einen CERN-Proxy.

Informationen zum Herstellen einer Verbindung mit verschiedenen Proxytypen finden Sie in den Schritten in einer typischen FTP-Clientanwendung.

pstrProxyName
Der Name des bevorzugten CERN-Proxys, wenn dwAccessType er als INTERNET_OPEN_TYPE_PROXYfestgelegt 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 er auf INTERNET_OPEN_TYPE_PROXY.

dwFlags
Gibt verschiedene Zwischenspeicherungsoptionen an. Der Standardwert ist auf 0 festgelegt. Zu den möglichen Werten gehören:

  • INTERNET_FLAG_DONT_CACHE Speichern Sie die Daten weder lokal noch auf Gatewayservern zwischen.

  • INTERNET_FLAG_OFFLINE Downloadvorgänge werden nur über den beständigen Cache erfüllt. Wenn das Element im Cache nicht vorhanden ist, wird ein entsprechender Fehlercode zurückgegeben. Diese Kennzeichnung kann mit dem bitweisen Operator "oder" (|) 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, CInternetSession wird ein AfxThrowInternetException.

Beispiel

Sehen Sie sich das Beispiel für CFtpFileFind.

CInternetSession::Close

Rufen Sie diese Memberfunktion auf, wenn die Anwendung die Verwendung des CInternetSession Objekts abgeschlossen hat.

virtual void Close();

Beispiel

Sehen Sie sich das Beispiel für CFtpFileFind.

CInternetSession::EnableStatusCallback

Rufen Sie diese Memberfunktion auf, um den Statusrückruf zu aktivieren.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Parameter

bEnable
Gibt an, ob der Rückruf 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

Beim Behandeln des Statusrückrufs können Sie in der Statusleiste der Anwendung Status über den Status des Vorgangs (z. B. Auflösen des Namens, Herstellen einer Verbindung mit dem Server usw.) angeben. Die Anzeige des Vorgangsstatus ist bei einem langfristigen Vorgang besonders wünschenswert.

Da Rückrufe während der Verarbeitung der Anforderung auftreten, sollte die Anwendung so wenig Zeit wie möglich im Rückruf verbringen, um eine Beeinträchtigung des Datendurchsatzes für das Netzwerk zu verhindern. Das Einrichten eines Dialogfelds in einem Rückruf kann z. B. eine so lange Operation sein, dass der Server die Anforderung beendet.

Der Statusrückruf kann nicht entfernt werden, solange rückrufe ausstehen.

Zum asynchronen Verarbeiten von Vorgängen 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 abzurufen.

DWORD_PTR GetContext() const;

Rückgabewert

Der anwendungsdefinierte Kontextbezeichner.

Hinweise

OnStatusCallback verwendet die kontext-ID, die zurückgegeben GetContext wird, um den Status einer bestimmten Anwendung zu melden. Wenn beispielsweise ein Benutzer eine Internetanforderung aktiviert, die statusinformationen zurückgibt, verwendet der Statusrückruf die Kontext-ID, um den Status dieser bestimmten Anforderung zu melden. Wenn der Benutzer zwei separate Internetanforderungen aktiviert, die beide das Zurückgeben von Statusinformationen umfassen, verwendet die Kontextbezeichner, OnStatusCallback um den Status zu den entsprechenden Anforderungen zurückzugeben. Folglich wird der Kontextbezeichner für alle Statusrückrufvorgänge verwendet und der Sitzung zugeordnet, bis die Sitzung beendet ist.

Weitere Informationen zu asynchronen Vorgängen finden Sie im Artikel "Internet First Steps: 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. Ist pstrCookieData dies NULLder Fall, erhält dieser Parameter einen Wert, der die Größe des Puffers angibt, der zum Kopieren aller Cookiedaten erforderlich ist.

Rückgabewert

Gibt zurück TRUE , wenn dies erfolgreich ist oder FALSE anderweitig. 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 Url.

  • ERROR_INSUFFICIENT_BUFFER Der übergebene dwBufLen Wert reicht nicht aus, um alle Cookiedaten zu kopieren. Der zurückgegebene dwBufLen Wert 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 Cookies enthält.

Rückgabewert

Ein DWORD Wert, der die Länge des Cookies angibt, die im Puffer gespeichert sind. Null, wenn kein Cookie mit dem namen pstrCookieName vorhanden ist.

Hinweise

Dieser Wert wird von GetCookie.

CInternetSession::GetFtpConnection

Rufen Sie diese Memberfunktion auf, um eine FTP-Verbindung herzustellen 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
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen des benutzers angibt, in dem sich anmelden soll. Wenn NULL, ist der Standardwert anonym.

pstrPassword
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die das kennwort angibt, das zum Anmelden verwendet werden soll. Wenn beides pstrPassword istNULLpstrUserName, ist das standardmäßige anonyme Kennwort der E-Mail-Name des Benutzers. Wenn pstrPassword es sich NULL um eine leere Zeichenfolge handelt, aber pstrUserName nicht NULL, wird ein leeres Kennwort verwendet. Die folgende Tabelle beschreibt das Verhalten für die vier möglichen Einstellungen und pstrUserNamepstrPassword:

pstrUserName pstrPassword An FTP-Server gesendeter Benutzername An FTP-Server gesendetes Kennwort
NULL oder " " NULL oder " " "anonymous" E-Mail-Name des Benutzers
Nicht-ZeichenfolgeNULL NULL oder " " pstrUserName " "
NULL Nicht-ZeichenfolgeNULL ERROR ERROR
Nicht-ZeichenfolgeNULL Nicht-ZeichenfolgeNULL pstrUserName pstrPassword

nPort
Eine Zahl, die den TCP/IP-Port identifiziert, der auf dem Server verwendet werden soll.

bPassive
Gibt den passiven oder aktiven Modus für diese FTP-Sitzung an. Bei Festlegung auf TRUE, legt sie die Win32-API dwFlag auf INTERNET_FLAG_PASSIVE.

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 und erstellt und gibt einen Zeiger auf ein CFTPConnection Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie beispielsweise Dateien lesen oder schreiben möchten, müssen Sie diese Vorgänge als separate Schritte ausführen. Informationen zum Suchen nach Dateien, zum Öffnen von Dateien und zum Lesen oder Schreiben in Dateien finden Sie in den Klassen CFtpConnectionCFtpFileFind . Im Artikel Internetprogrammierung mit WinInet finden Sie Schritte zur Durchführung gängiger FTP-Verbindungsaufgaben.

Beispiel

Sehen Sie sich das Beispiel für CFtpFileFind.

CInternetSession::GetGopherConnection

Rufen Sie diese Memberfunktion auf, um eine neue Gopherverbindung herzustellen 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 Namen des Gopherservers 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 TCP/IP-Port identifiziert, der auf dem Server verwendet werden soll.

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 Gopherserver und erstellt und gibt einen Zeiger auf ein CGopherConnection Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie beispielsweise Daten lesen oder schreiben möchten, müssen Sie diese Vorgänge als separate Schritte ausführen. Informationen zum Suchen nach Dateien, zum Öffnen von Dateien und zum Lesen oder Schreiben in Dateien finden Sie in den KlassenCGopherConnectionCGopherFileCGopherFileFind. Informationen zum Durchsuchen einer FTP-Website finden Sie in der Memberfunktion OpenURL. Im Artikel "Internetprogrammierung mit WinInet " finden Sie Schritte zum Ausführen gängiger Gopher-Verbindungsaufgaben.

CInternetSession::GetHttpConnection

Rufen Sie diese Memberfunktion auf, um eine HTTP-Verbindung herzustellen 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 TCP/IP-Port identifiziert, der auf dem Server verwendet werden soll.

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 der INTERNET_FLAG_* Flags. Eine Beschreibung der dwFlags Werte finden Sie in der Tabelle im Abschnitt CHttpConnection::OpenRequest "Hinweise".

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 und erstellt und gibt einen Zeiger auf ein CHttpConnection Objekt zurück. Es führt keinen bestimmten Vorgang auf dem Server aus. Wenn Sie beispielsweise einen HTTP-Header abfragen möchten, müssen Sie diesen Vorgang als separaten Schritt ausführen. Informationen zu Vorgängen, die Sie mithilfe einer Verbindung mit einem HTTP-Server ausführen können, finden Sie unter den Klassen CHttpConnection und CHttpFile Informationen zu Vorgängen, die Sie ausführen können. Informationen zum Durchsuchen einer HTTP-Website finden Sie in der Memberfunktion OpenURL. Im Artikel "Internetprogrammierung mit WinInet " finden Sie Schritte zum Ausführen gängiger HTTP-Verbindungsaufgaben.

CInternetSession::OnStatusCallback

Diese Memberfunktion wird vom Framework aufgerufen, um den Status zu aktualisieren, wenn der Statusrückruf 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 Rückruf erfolgt. Eine Tabelle mit möglichen Werten finden Sie in den Hinweisen.

lpvStatusInformation
Ein Zeiger auf einen Puffer, der Informationen enthält, die für diesen Rückruf relevant sind.

dwStatusInformationLength
Die Größe des lpvStatusInformation.

Hinweise

Sie müssen zuerst anrufen EnableStatusCallback , um den Statusrückruf zu nutzen.

Der dwInternetStatus Parameter gibt den ausgeführten Vorgang an und bestimmt, wie der Inhalt lpvStatusInformation sein soll. dwStatusInformationLength gibt die Länge der daten an, die lpvStatusInformationin . Die folgenden Statuswerte dwInternetStatus sind wie folgt definiert:

Wert Bedeutung
INTERNET_STATUS_RESOLVING_NAME Nachschlagen der IP-Adresse des Namens, der in lpvStatusInformation.
INTERNET_STATUS_NAME_RESOLVED Die IP-Adresse des namens wurde erfolgreich gefunden, der in lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER Verbinden an die Socketadresse (SOCKADDR) verweist, auf die verwiesen wirdlpvStatusInformation.
INTERNET_STATUS_CONNECTED_TO_SERVER Erfolgreich mit der Socketadresse (SOCKADDR) verbunden, auf die verwiesen wird lpvStatusInformation.
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 den Server, um auf eine Anforderung zu antworten. 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 Schließen der Verbindung mit dem Server. Der lpvStatusInformation-Parameter ist NULL.
INTERNET_STATUS_CONNECTION_CLOSED Die Verbindung mit dem Server wurde erfolgreich geschlossen. 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 die Verbindung zu lang dauert. Weitere Informationen zu diesen Funktionen finden Sie im Windows SDK.
INTERNET_STATUS_HANDLE_CLOSING Dieser Handle-Wert wurde erfolgreich beendet.

Überschreiben Sie diese Memberfunktion, damit eine Aktion erforderlich ist, bevor eine Statusrückrufroutine ausgeführt wird.

Hinweis

Statusrückrufe benötigen Threadstatusschutz. 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 zu asynchronen Vorgängen finden Sie im Artikel "Internet First Steps: WinInet".

CInternetSession::OpenURL

Rufen Sie diese Memberfunktion auf, um die angegebene Anforderung an den HTTP-Server zu senden und dem Client zu ermöglichen, 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 Lesen zu beginnen. Nur URLs, die mit file:, ftp:, gopher:oder http: werden unterstützt. Gibt an, wenn pstrURL dies der Grund ist NULL.

dwContext
Ein anwendungsdefinierter Wert, der mit dem zurückgegebenen Handle im Rückruf übergeben wird.

dwFlags
Die Flags, die beschreiben, wie diese Verbindung behandelt wird. Weitere Informationen zu den gültigen Flags finden Sie in den Hinweisen. Die gültigen 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 fordert sichere Transaktionen auf dem Draht mit Secure Sockets Layer oder PCT an.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Wenn möglich, verwenden Sie die vorhandenen Verbindungen mit dem Server für neue Anforderungen, die von OpenUrl der Erstellung einer neuen Sitzung für jede Verbindungsanforderung generiert werden.

  • INTERNET_FLAG_PASSIVE Wird für einen FTP-Standort verwendet. Verwendet passive FTP-Semantik. Wird mit CInternetConnection .OpenURL

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 Kopfzeilen in Zeichen. Wenn dies nicht pstrHeaders der Fall istNULL-1L, wird davon ausgegangen, pstrHeaders dass sie null beendet ist und die Länge berechnet wird.

Rückgabewert

Gibt nur ein Dateihandle für FTP-, GOPHER-, HTTP- und FILE-Typ-Internetdienste zurück. Gibt zurück NULL , wenn die Analyse nicht erfolgreich war.

Der zurückgegebene Zeiger OpenURL hängt vom pstrURLDiensttyp ab. In der folgenden Tabelle sind die möglichen Zeiger OpenURL dargestellt, die zurückgegeben werden können.

URL-Typ Gibt zurück
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Hinweise

Der Parameter dwFlags muss entweder INTERNET_FLAG_TRANSFER_ASCII oder INTERNET_FLAG_TRANSFER_BINARY, aber nicht beide enthalten. Die re Standard ing flags können mit dem bitweisen Operator "or" (|) kombiniert werden.

OpenURL, der die Win32-Funktion InternetOpenURLumschließt, 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 wie das Schreiben in eine Datei zu verwenden, müssen Sie eine Sitzung öffnen und 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.See CInternetConnection for more information about connection-specific functions.

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 mit Null beendete Zeichenfolge, die die URL angibt, für die das Cookie festgelegt werden soll.

pstrCookieName
Ein Zeiger auf eine Zeichenfolge, die den Namen des Cookies enthält.

pstrCookieData
Ein Zeiger auf eine Zeichenfolge, die die tatsächlichen Zeichenfolgendaten enthält, die der URL zugeordnet werden sollen.

Rückgabewert

Gibt zurück TRUE , wenn dies erfolgreich ist oder FALSE anderweitig. Rufen Sie auf, um den spezifischen Fehlercode abzurufen. GetLastError.

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 Option Flags im Windows SDK.

lpBuffer
Ein Puffer, der die Optionseinstellung enthält.

dwBufferLength
Die Länge oder lpBuffer die Größe von dwValue.

dwValue
Eine DWORD , die die Optionseinstellung enthält.

dwFlags
Gibt verschiedene Zwischenspeicherungsoptionen an. Der Standardwert ist auf 0 festgelegt. Zu den möglichen Werten gehören:

  • INTERNET_FLAG_DONT_CACHE Speichern Sie die Daten weder lokal noch auf Gatewayservern zwischen.

  • INTERNET_FLAG_OFFLINE Downloadvorgänge werden nur über den beständigen Cache erfüllt. Wenn das Element im Cache nicht vorhanden ist, wird ein entsprechender Fehlercode zurückgegeben. Diese Kennzeichnung kann mit dem bitweisen Operator "oder" (|) kombiniert werden.

Rückgabewert

Wenn der Vorgang erfolgreich war, wird ein Wert zurückgegeben TRUE . Wenn ein Fehler aufgetreten ist, wird ein Wert von FALSE zurückgegeben. Wenn der Aufruf fehlschlägt, kann die Win32-Funktion GetLastError aufgerufen werden, um die Ursache des Fehlers zu ermitteln.

Siehe auch

CObject Klasse
Hierarchiediagramm
CInternetConnection Klasse
CHttpConnection Klasse
CFtpConnection Klasse
CGopherConnection Klasse