HttpOpenRequestA-Funktion (wininet.h)
Erstellt ein HTTP-Anforderungshandle.
Syntax
HINTERNET HttpOpenRequestA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszVerb,
[in] LPCSTR lpszObjectName,
[in] LPCSTR lpszVersion,
[in] LPCSTR lpszReferrer,
[in] LPCSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Parameter
[in] hConnect
Ein Handle zu einer HTTP-Sitzung, die von InternetConnectzurückgegeben wird.
[in] lpszVerb
Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die das HTTP-Verb enthält, das in der Anforderung verwendet werden soll. Wenn dieser Parameter NULL-ist, verwendet die Funktion GET als HTTP-Verb.
[in] lpszObjectName
Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die den Namen des Zielobjekts des angegebenen HTTP-Verbs enthält. Dies ist in der Regel ein Dateiname, ein ausführbares Modul oder ein Suchbezeichner.
[in] lpszVersion
Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die die HTTP-Version enthält, die in der Anforderung verwendet werden soll. Die Einstellungen in Internet Explorer setzen den in diesem Parameter angegebenen Wert außer Kraft.
Wenn dieser Parameter NULL-ist, verwendet die Funktion abhängig vom Wert der Internet Explorer-Einstellungen eine HTTP-Version von 1.1 oder 1.0.
Wert | Bedeutung |
---|---|
|
HTTP-Version 1.0 |
|
HTTP-Version 1.1 |
[in] lpszReferrer
Ein Zeiger auf eine null-terminated string, die die URL des Dokuments angibt, aus dem die URL in der Anforderung (lpszObjectName) abgerufen wurde. Wenn dieser Parameter NULL-ist, wird kein Verweiser angegeben.
[in] lplpszAcceptTypes
Ein Zeiger auf ein null-terminated array of strings that indicates media types accepted by the client. Hier ist ein Beispiel.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Wenn das Array nicht ordnungsgemäß mit einem NULL-Zeiger beendet wird, tritt ein Absturz auf.
Wenn dieser Parameter NULL-ist, werden vom Client keine Typen akzeptiert. Server interpretieren in der Regel einen Mangel an Akzeptiert-Typen, um anzugeben, dass der Client nur Dokumente vom Typ "text/*" akzeptiert (d. a. nur Textdokumente – keine Bilder oder andere Binärdateien).
[in] dwFlags
Internetoptionen. Dieser Parameter kann eine der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Gibt die Ressource aus dem Cache zurück, wenn die Netzwerkanforderung für die Ressource aufgrund einer ERROR_INTERNET_CONNECTION_RESET (die Verbindung mit dem Server wurde zurückgesetzt) oder ERROR_INTERNET_CANNOT_CONNECT (der Versuch, eine Verbindung mit dem Server herzustellen fehlgeschlagen). |
|
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. |
|
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. |
|
Deaktiviert die Überprüfung von SSL/PCT-basierten Zertifikaten auf ordnungsgemäße Gültigkeitsdaten. |
|
Deaktiviert die Erkennung dieses speziellen Umleitungstyps. Wenn dieses Flag verwendet wird, lässt WinINet-Funktionen Umleitungen von HTTPS zu HTTP-URLs transparent zu. |
|
Deaktiviert die Erkennung dieses speziellen Umleitungstyps. Wenn dieses Flag verwendet wird, lassen WinINet-Funktionen Umleitungen von HTTP zu HTTPS-URLs transparent zu. |
|
Verwendet Keep-Alive-Semantik, falls verfügbar, für die Verbindung. Dieses Kennzeichen ist für Microsoft Network (MSN), NT LAN Manager (NTLM) und andere Authentifizierungstypen erforderlich. |
|
Bewirkt, dass eine temporäre Datei erstellt wird, wenn die Datei nicht zwischengespeichert werden kann. |
|
Versucht nicht automatisch die Authentifizierung. |
|
Behandelt die Umleitung nicht automatisch in HttpSendRequest-. |
|
Fügt die zurückgegebene Entität nicht zum Cache hinzu. |
|
Fügt keine Cookieheader automatisch zu Anforderungen hinzu und fügt der Cookie-Datenbank nicht automatisch zurückgegebene Cookies hinzu. |
|
Deaktiviert das Dialogfeld "Cookie". |
|
Erzwingt, dass die Anforderung vom Ursprungsserver aufgelöst wird, auch wenn eine zwischengespeicherte Kopie auf dem Proxy vorhanden ist. |
|
Erzwingt den Download der angeforderten Datei, des Objekts oder des Verzeichniseintrags vom Ursprungsserver, nicht aus dem Cache. |
|
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. |
|
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, die den anwendungsdefinierten Wert enthält, der diesen Vorgang allen Anwendungsdaten zuordnet.
Rückgabewert
Gibt ein HTTP-Anforderungshandle zurück, falls erfolgreich, oder NULL- andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen.
Bemerkungen
Die HttpOpenRequest--Funktion erstellt ein neues HTTP-Anforderungshandle und speichert die angegebenen Parameter in diesem Handle. Ein HTTP-Anforderungshandle enthält eine Anforderung, die an einen HTTP-Server gesendet werden soll, und enthält alle RFC822/MIME/HTTP-Header, die als Teil der Anforderung gesendet werden sollen.
Wenn ein anderes Verb als "GET" oder "POST" angegeben ist, HttpOpenRequest automatisch INTERNET_FLAG_NO_CACHE_WRITE und INTERNET_FLAG_RELOAD für die Anforderung festlegt.
Wenn lpszVerb- bei Microsoft Internet Explorer 5 und höher auf "HEAD" festgelegt ist, wird der Header "Content-Length" auf Antworten von HTTP/1.1-Servern ignoriert.
Unter Windows 7, Windows Server 2008 R2 und höher wird der parameter lpszVersion durch Internet Explorer-Einstellungen außer Kraft gesetzt. Der EnableHttp1_1 ist ein Registrierungswert unter HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE gesteuert durch Internetoptionen, die in Internet Explorer für das System festgelegt sind. Der Standardwert für EnableHttp1_1 ist 1. Die HttpOpenRequest--Funktion aktualisiert alle HTTP-Versionen unter 1.1 auf HTTP Version 1.1, wenn EnableHttp1_1 auf 1 festgelegt ist.
Nachdem die aufrufende Anwendung die Verwendung des HINTERNET- Von HttpOpenRequestzurückgegebenen Handle abgeschlossen hat, muss sie mit der InternetCloseHandle--Funktion geschlossen werden.
Hinweis Wenn eine Anforderung im asynchronen Modus gesendet wird (der dwFlags Parameter von InternetOpen specifies INTERNET_FLAG_ASYNC), und der dwContext Parameter ist null (INTERNET_NO_CALLBACK), wird die Rückruffunktion mit InternetSetStatusCallback- für das Anforderungshandle jedoch nicht aufgerufen. der Aufruf wird 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.
Anmerkung
Der wininet.h-Header definiert HttpOpenRequest 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 |