Freigeben über


InternetOpenUrlA-Funktion (wininet.h)

Öffnet eine Ressource, die durch eine vollständige FTP- oder HTTP-URL angegeben ist.

Syntax

HINTERNET InternetOpenUrlA(
  [in] HINTERNET hInternet,
  [in] LPCSTR    lpszUrl,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parameter

[in] hInternet

Das Handle für die aktuelle Internetsitzung. Das Handle muss von einem vorherigen Aufruf von InternetOpenzurückgegeben worden sein.

[in] lpszUrl

Ein Zeiger auf eine null-terminated string variable, die die URL angibt, die mit dem Lesen beginnt. Nur URLs, die mit ftp:, http:, oder https: beginnen, werden unterstützt.

[in] lpszHeaders

Ein Zeiger auf eine null-terminated string, die die Header angibt, die an den HTTP-Server gesendet werden sollen. Weitere Informationen finden Sie in der Beschreibung des lpszHeaders- Parameters in der funktion HttpSendRequest.

[in] dwHeadersLength

Die Größe der zusätzlichen Kopfzeilen in TCHARs. Wenn dieser Parameter -1L ist und lpszHeaders nicht NULList, wird davon ausgegangen, dass lpszHeaders null beendet (ASCIIZ) und die Länge berechnet wird.

[in] dwFlags

Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
INTERNET_FLAG_EXISTING_CONNECT
Versucht, ein vorhandenes InternetConnect-Objekt zu verwenden, wenn ein Objekt mit denselben Attributen vorhanden ist, die für die Anforderung erforderlich sind. Dies ist nur bei FTP-Vorgängen nützlich, da FTP das einzige Protokoll ist, das in der Regel mehrere Vorgänge während derselben Sitzung ausführt. Die WinINet-API speichert ein einzelnes Verbindungshandle für jedes HINTERNET- Handle, das von InternetOpengeneriert wird. InternetOpenUrl verwendet dieses Flag für HTTP- und FTP-Verbindungen.
INTERNET_FLAG_HYPERLINK
Erzwingt ein Neuladen, wenn keine Ablaufzeit aufgetreten ist, und keine lastModified-Zeit, die vom Server zurückgegeben wird, wenn ermittelt wird, ob das Element aus dem Netzwerk neu geladen werden soll.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
Deaktiviert die Überprüfung von SSL/PCT-basierten Zertifikaten, die vom Server anhand des in der Anforderung angegebenen Hostnamens zurückgegeben werden. WinINet-Funktionen verwenden eine einfache Überprüfung auf Zertifikate, indem sie mit übereinstimmenden Hostnamen und einfachen Wildcard-Regeln vergleichen.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
Deaktiviert die Überprüfung von SSL/PCT-basierten Zertifikaten auf ordnungsgemäße Gültigkeitsdaten.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
Deaktiviert die Erkennung dieses speziellen Umleitungstyps. Wenn dieses Flag verwendet wird, ermöglicht WinINet transparent Umleitungen von HTTPS zu HTTP-URLs.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Deaktiviert die Erkennung dieses speziellen Umleitungstyps. Wenn dieses Flag verwendet wird, ermöglicht WinINet transparent Umleitungen von HTTP zu HTTPS-URLs.
INTERNET_FLAG_KEEP_CONNECTION
Verwendet Keep-Alive-Semantik, falls verfügbar, für die Verbindung. Dieses Kennzeichen ist für Microsoft Network (MSN), NTLM und andere Authentifizierungstypen erforderlich.
INTERNET_FLAG_NEED_FILE
Bewirkt, dass eine temporäre Datei erstellt wird, wenn die Datei nicht zwischengespeichert werden kann.
INTERNET_FLAG_NO_AUTH
Versucht nicht automatisch die Authentifizierung.
INTERNET_FLAG_NO_AUTO_REDIRECT
Behandelt die Umleitung nicht automatisch in HttpSendRequest-.
INTERNET_FLAG_NO_CACHE_WRITE
Fügt die zurückgegebene Entität nicht zum Cache hinzu.
INTERNET_FLAG_NO_COOKIES
Fügt keine Cookieheader automatisch zu Anforderungen hinzu und fügt der Cookie-Datenbank nicht automatisch zurückgegebene Cookies hinzu.
INTERNET_FLAG_NO_UI
Deaktiviert das Dialogfeld "Cookie".
INTERNET_FLAG_PASSIVE
Verwendet passive FTP-Semantik. InternetOpenUrl verwendet dieses Flag für FTP-Dateien und Verzeichnisse.
INTERNET_FLAG_PRAGMA_NOCACHE
Erzwingt, dass die Anforderung vom Ursprungsserver aufgelöst wird, auch wenn eine zwischengespeicherte Kopie auf dem Proxy vorhanden ist.
INTERNET_FLAG_RAW_DATA
Gibt die Daten als WIN32_FIND_DATA Struktur zurück, wenn FTP-Verzeichnisinformationen abgerufen werden. Wenn dieses Flag nicht angegeben ist oder der Aufruf über einen CERN-Proxy erfolgt ist, gibt InternetOpenUrl die HTML-Version des Verzeichnisses zurück.

Windows XP und Windows Server 2003 R2 und früher: Gibt auch Daten als GOPHER_FIND_DATA Struktur zurück, wenn Gopher-Verzeichnisinformationen abgerufen werden.

INTERNET_FLAG_RELOAD
Erzwingt den Download der angeforderten Datei, des Objekts oder des Verzeichniseintrags vom Ursprungsserver, nicht aus dem Cache.
INTERNET_FLAG_RESYNCHRONIZE
Lädt HTTP-Ressourcen neu, wenn die Ressource seit dem letzten Herunterladen geändert wurde. Alle FTP-Ressourcen werden neu geladen.

Windows XP und Windows Server 2003 R2 und früher: Gopher-Ressourcen werden ebenfalls neu geladen.

INTERNET_FLAG_SECURE
Verwendet sichere Transaktionssemantik. Dies übersetzt sich in die Verwendung von Secure Sockets Layer/Private Communications Technology (SSL/PCT) und ist nur in HTTP-Anforderungen aussagekräftig.

[in] dwContext

Ein Zeiger auf eine Variable, der den anwendungsdefinierten Wert angibt, der zusammen mit dem zurückgegebenen Handle an alle Rückruffunktionen übergeben wird.

Rückgabewert

Gibt ein gültiges Handle an die URL zurück, wenn die Verbindung erfolgreich hergestellt wurde, oder NULL-, wenn die Verbindung fehlschlägt. Rufen Sie GetLastErrorauf, um eine bestimmte Fehlermeldung abzurufen. Um zu ermitteln, warum der Zugriff auf den Dienst verweigert wurde, rufen Sie InternetGetLastResponseInfoauf.

Bemerkungen

Rufen Sie InternetCanonicalizeUrl zuerst auf, wenn die verwendete URL eine relative URL und eine Basis-URL enthält, die durch Leerzeichen getrennt ist.

Dies ist eine allgemeine Funktion, mit der eine Anwendung Daten über eines der von WinINet unterstützten Protokolle abrufen kann. Diese Funktion ist besonders nützlich, wenn die Anwendung nicht auf die Besonderheiten eines Protokolls zugreifen muss, sondern nur die Daten erfordert, die einer URL entsprechen. Die InternetOpenUrl--Funktion analysiert die URL-Zeichenfolge, stellt eine Verbindung mit dem Server her und bereitet das Herunterladen der durch die URL identifizierten Daten vor. Die Anwendung kann dann InternetReadFile- (für Dateien) oder InternetFindNextFile- (für Verzeichnisse) verwenden, um die URL-Daten abzurufen. Es ist nicht erforderlich, InternetConnect- aufzurufen, bevor InternetOpenUrl.

Windows XP und Windows Server 2003 R2 und früher: InternetOpenUrl deaktiviert Gopher für Ports unter 1024, mit Ausnahme von Port 70 – dem standardmäßigen Gopher-Port – und Port 105 – normalerweise für CSO-Namenssuchen (Central Services Organization).

Nachdem die aufrufende Anwendung die verwendung des HINTERNET- Handle beendet hat, das von InternetOpenUrl-zurückgegeben wird, muss sie mithilfe der InternetCloseHandle--Funktion geschlossen werden.

Hinweis Beim Arbeiten im asynchronen Modus (der dwFlags Parameter von InternetOpen gibt INTERNET_FLAG_ASYNC) an, und der dwContext Parameter ist null (INTERNET_NO_CALLBACK), wird die Rückruffunktion, die mit InternetSetStatusCallback- auf dem Sitzungshandle festgelegt ist, jedoch wird der Aufruf weiterhin im asynchronen Modus ausgeführt.

Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte sicher aufgerufen werden.

Hinweis WinINet keine Serverimplementierungen unterstützt. Darüber hinaus sollte sie nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder -dienste Microsoft Windows HTTP Services (WinHTTP).
 

Anmerkung

Der wininet.h-Header definiert InternetOpenUrl als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- wininet.h
Library Wininet.lib
DLL- Wininet.dll

Siehe auch

Behandeln von Uniform Resource Locators

WinINet-Funktionen