Freigeben über


InternetOpenUrlA-Funktion (wininet.h)

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

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 InternetOpen zurückgegeben worden sein.

[in] lpszUrl

Ein Zeiger auf eine NULL-endende Zeichenfolgenvariable, die die URL angibt, die mit dem Lesen beginnen soll. Es werden nur URLs unterstützt, die mit ftp:, http: oder https: beginnen.

[in] lpszHeaders

Ein Zeiger auf eine NULL-endende Zeichenfolge, die die Header angibt, die an den HTTP-Server gesendet werden sollen. Weitere Informationen finden Sie in der Beschreibung des lpszHeaders-Parameters in der HttpSendRequest-Funktion .

[in] dwHeadersLength

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

[in] dwFlags

Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
INTERNET_FLAG_EXISTING_CONNECT
Versucht, ein vorhandenes InternetConnect-Objekt zu verwenden, wenn eines 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 für jedes von InternetOpen generierte HINTERNET-Handle ein einzelnes Verbindungshandle zwischen. InternetOpenUrl verwendet dieses Flag für HTTP- und FTP-Verbindungen.
INTERNET_FLAG_HYPERLINK
Erzwingt ein Erneutes Laden, wenn keine Ablaufzeit und keine LastModified-Zeit vom Server zurückgegeben wurde, 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 mit dem in der Anforderung angegebenen Hostnamen zurückgegeben werden. WinINet-Funktionen verwenden eine einfache Überprüfung von Zertifikaten, indem sie übereinstimmende Hostnamen und einfache Wildcardregeln 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 dieser speziellen Umleitungsart. Wenn dieses Flag verwendet wird, lässt WinINet Umleitungen von HTTPS zu HTTP-URLs transparent zu.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Deaktiviert die Erkennung dieser speziellen Art von Umleitung. Wenn dieses Flag verwendet wird, lässt WinINet Umleitungen von HTTP zu HTTPS-URLs transparent zu.
INTERNET_FLAG_KEEP_CONNECTION
Verwendet keep-alive-Semantik, sofern verfügbar, für die Verbindung. Dieses Flag 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 in HttpSendRequest nicht automatisch.
INTERNET_FLAG_NO_CACHE_WRITE
Fügt die zurückgegebene Entität nicht dem Cache hinzu.
INTERNET_FLAG_NO_COOKIES
Fügt Anforderungen nicht automatisch Cookie-Header 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 beim Abrufen von FTP-Verzeichnisinformationen als WIN32_FIND_DATA-Struktur zurück. Wenn dieses Flag nicht angegeben ist oder wenn 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 einen Download der angeforderten Datei, des angeforderten Objekts oder der angeforderten Verzeichnisliste vom ursprünglichen Server, nicht aus dem Cache.
INTERNET_FLAG_RESYNCHRONIZE
Lädt HTTP-Ressourcen neu, wenn die Ressource seit dem letzten Download geändert wurde. Alle FTP-Ressourcen werden erneut geladen.

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

INTERNET_FLAG_SECURE
Verwendung eine sichere Transaktionssemantik. Dies bedeutet die Verwendung von Secure Sockets Layer/Private Communications Technology (SSL/PCT) und ist nur in HTTP-Anforderungen sinnvoll.

[in] dwContext

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

Rückgabewert

Gibt ein gültiges Handle für die URL zurück, wenn die Verbindung erfolgreich hergestellt wurde, oder NULL , wenn die Verbindung fehlschlägt. Rufen Sie GetLastError auf, um eine bestimmte Fehlermeldung abzurufen. Rufen Sie InternetGetLastResponseInfo auf, um zu ermitteln, warum der Zugriff auf den Dienst verweigert wurde.

Hinweise

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

Dies ist eine allgemeine Funktion, die eine Anwendung verwenden kann, um Daten über jedes der Protokolle abzurufen, die WinINet unterstützt. Diese Funktion ist besonders nützlich, wenn die Anwendung nicht auf die Besonderheiten eines Protokolls zugreifen muss, sondern nur die Daten benötigt, die einer URL entsprechen. Die InternetOpenUrl-Funktion analysiert die URL-Zeichenfolge, stellt eine Verbindung mit dem Server her und bereitet den Download 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 vor InternetOpenUrl aufzurufen.

Windows XP und Windows Server 2003 R2 und früher: InternetOpenUrl deaktiviert Gopher an Ports, die kleiner als 1024 sind, mit Ausnahme von Port 70 – dem Standardmäßigen Gopher-Port – und Port 105, der normalerweise für CSO-Namenssuchen (Central Services Organization) verwendet wird.

Nachdem die aufrufende Anwendung das von InternetOpenUrl zurückgegebene HINTERNET-Handle verwendet hat, muss es mit der InternetCloseHandle-Funktion geschlossen werden.

Hinweis Wenn Sie im asynchronen Modus arbeiten (der dwFlags-Parameter von InternetOpen gibt INTERNET_FLAG_ASYNC an) und der dwContext-Parameter null (INTERNET_NO_CALLBACK) ist, wird die mit InternetSetStatusCallback für das Sitzungshandle festgelegte Rückruffunktion nicht aufgerufen, der Aufruf wird jedoch weiterhin im asynchronen Modus ausgeführt.

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

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

Hinweis

Der wininet.h-Header definiert InternetOpenUrl als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wininet.h
Bibliothek Wininet.lib
DLL Wininet.dll

Weitere Informationen

Behandeln von Uniform Resource Locators

WinINet-Funktionen