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 für eine HTTP-Sitzung, die von InternetConnect zurückgegeben wird.
[in] lpszVerb
Ein Zeiger auf eine NULL-endende Zeichenfolge, die das in der Anforderung zu verwendende HTTP-Verb enthält. Wenn dieser Parameter NULL ist, verwendet die Funktion GET als HTTP-Verb.
[in] lpszObjectName
Ein Zeiger auf eine NULL-endende Zeichenfolge, die den Namen des Zielobjekts des angegebenen HTTP-Verbs enthält. Dies ist im Allgemeinen ein Dateiname, ein ausführbares Modul oder ein Suchspezifizierer.
[in] lpszVersion
Ein Zeiger auf eine NULL-beendete Zeichenfolge, die die HTTP-Version enthält, die in der Anforderung verwendet werden soll. Einstellungen in Internet Explorer überschreiben den in diesem Parameter angegebenen Wert.
Wenn dieser Parameter NULL ist, verwendet die Funktion eine HTTP-Version von 1.1 oder 1.0, abhängig vom Wert der Internet-Explorer Einstellungen.
Wert | Bedeutung |
---|---|
|
HTTP-Version 1.0 |
|
HTTP-Version 1.1 |
[in] lpszReferrer
Ein Zeiger auf eine NULL-endende Zeichenfolge, die die URL des Dokuments angibt, aus dem die URL in der Anforderung (lpszObjectName) abgerufen wurde. Wenn dieser Parameter NULL ist, wird kein Referrer angegeben.
[in] lplpszAcceptTypes
Ein Zeiger auf ein Array mit NULL-Endung von Zeichenfolgen, das die vom Client akzeptierten Medientypen angibt. Es folgt ein Beispiel.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Wenn das Array nicht ordnungsgemäß mit einem NULL-Zeiger beendet werden kann, führt dies zu einem Absturz.
Wenn dieser Parameter NULL ist, werden vom Client keine Typen akzeptiert. Server interpretieren im Allgemeinen 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. Bei diesem Parameter kann es sich um einen der folgenden Werte handeln.
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 (fehler beim Herstellen einer Verbindung mit dem Server) fehlschlägt. |
|
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. |
|
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. |
|
Deaktiviert die Überprüfung von SSL-/PCT-basierten Zertifikaten auf ordnungsgemäße Gültigkeitsdaten. |
|
Deaktiviert die Erkennung dieser speziellen Umleitungsart. Wenn dieses Flag verwendet wird, lassen WinINet-Funktionen Umleitungen von HTTPS zu HTTP-URLs transparent zu. |
|
Deaktiviert die Erkennung dieser speziellen Umleitungsart. Wenn dieses Flag verwendet wird, lassen WinINet-Funktionen Umleitungen von HTTP zu HTTPS-URLs transparent zu. |
|
Verwendet keep-alive-Semantik, sofern verfügbar, für die Verbindung. Dieses Flag 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 in HttpSendRequest nicht automatisch. |
|
Fügt die zurückgegebene Entität nicht dem Cache hinzu. |
|
Fügt Anforderungen nicht automatisch Cookie-Header 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 einen Download der angeforderten Datei, des angeforderten Objekts oder der angeforderten Verzeichnisliste vom ursprünglichen Server, nicht aus dem Cache. |
|
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. |
|
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 von der Anwendung definierten Wert enthält, der diesen Vorgang allen Anwendungsdaten zuordnet.
Rückgabewert
Gibt bei erfolgreicher Ausführung ein HTTP-Anforderungshandle oder andernfalls NULL zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.
Hinweise
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 wird, legt HttpOpenRequest automatisch INTERNET_FLAG_NO_CACHE_WRITE und INTERNET_FLAG_RELOAD für die Anforderung fest.
Wenn bei Microsoft Internet Explorer 5 und höher lpszVerb auf "HEAD" festgelegt ist, wird der Content-Length-Header bei Antworten von HTTP/1.1-Servern ignoriert.
Unter Windows 7, Windows Server 2008 R2 und höher wird der lpszVersion-Parameter von Internet Explorer Einstellungen überschrieben. Die EnableHttp1_1 ist ein Registrierungswert unter HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE, der von Internetoptionen gesteuert wird, die im Internet Explorer für das System festgelegt ist. Der EnableHttp1_1 Wert ist standardmäßig 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 das von HttpOpenRequest zurückgegebene HINTERNET-Handle verwendet hat, muss es mit der InternetCloseHandle-Funktion geschlossen werden.
Hinweis Wenn eine Anforderung im asynchronen Modus gesendet wird (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 Anforderungshandle 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
Der wininet.h-Header definiert HttpOpenRequest 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
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 |