Funzione HttpOpenRequestA (wininet.h)
Crea un handle di richiesta HTTP.
Sintassi
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
);
Parametri
[in] hConnect
Handle a una sessione HTTP restituita da InternetConnect.
[in] lpszVerb
Puntatore a una stringa con terminazione null contenente il verbo HTTP da usare nella richiesta. Se questo parametro è NULL, la funzione usa GET come verbo HTTP.
[in] lpszObjectName
Puntatore a una stringa con terminazione null contenente il nome dell'oggetto di destinazione del verbo HTTP specificato. Si tratta in genere di un nome file, di un modulo eseguibile o di un identificatore di ricerca.
[in] lpszVersion
Puntatore a una stringa con terminazione null contenente la versione HTTP da usare nella richiesta. Le impostazioni in Internet Explorer eseguiranno l'override del valore specificato in questo parametro.
Se questo parametro è NULL, la funzione usa una versione HTTP di 1.1 o 1.0, a seconda del valore delle impostazioni di Internet Explorer.
Valore | Significato |
---|---|
|
HTTP versione 1.0 |
|
HTTP versione 1.1 |
[in] lpszReferrer
Puntatore a una stringa con terminazione null che specifica l'URL del documento da cui è stato ottenuto l'URL della richiesta (lpszObjectName). Se questo parametro è NULL, non viene specificato alcun referrer.
[in] lplpszAcceptTypes
Puntatore a una matrice con terminazione null di stringhe che indica i tipi di supporti accettati dal client. Ecco un esempio.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Se non si riesce a terminare correttamente la matrice con un puntatore NULL, verrà generato un arresto anomalo.
Se questo parametro è NULL, nessun tipo viene accettato dal client. I server in genere interpretano una mancanza di tipi di accettazione per indicare che il client accetta solo documenti di tipo "text/*" (ovvero solo documenti di testo, ovvero non immagini o altri file binari).
[in] dwFlags
Opzioni Internet. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Restituisce la risorsa dalla cache se la richiesta di rete per la risorsa non riesce a causa di un ERROR_INTERNET_CONNECTION_RESET (la connessione con il server è stata reimpostata) o ERROR_INTERNET_CANNOT_CONNECT (il tentativo di connessione al server non è riuscito). |
|
Forza un ricaricamento se non era presente un'ora di scadenza e nessun tempo LastModified restituito dal server quando determina se ricaricare l'elemento dalla rete. |
|
Disabilita il controllo dei certificati basati su SSL/PCT restituiti dal server con il nome host specificato nella richiesta. Le funzioni WinINet usano un controllo semplice sui certificati confrontando i nomi host corrispondenti e le regole con caratteri jolly semplici. |
|
Disabilita il controllo dei certificati basati su SSL/PCT per le date di validità appropriate. |
|
Disabilita il rilevamento di questo tipo speciale di reindirizzamento. Quando viene usato questo flag, le funzioni WinINet consentono in modo trasparente i reindirizzamenti da HTTPS a URL HTTP. |
|
Disabilita il rilevamento di questo tipo speciale di reindirizzamento. Quando viene usato questo flag, le funzioni WinINet consentono in modo trasparente i reindirizzamenti da HTTP a URL HTTPS. |
|
Usa la semantica keep-alive, se disponibile, per la connessione. Questo flag è obbligatorio per Microsoft Network (MSN), NT LAN Manager (NTLM) e altri tipi di autenticazione. |
|
Causa la creazione di un file temporaneo se il file non può essere memorizzato nella cache. |
|
Non tenta automaticamente l'autenticazione. |
|
Non gestisce automaticamente il reindirizzamento in HttpSendRequest. |
|
Non aggiunge l'entità restituita alla cache. |
|
Non aggiunge automaticamente intestazioni di cookie alle richieste e non aggiunge automaticamente cookie restituiti al database cookie. |
|
Disabilita la finestra di dialogo cookie. |
|
Forza la richiesta di essere risolta dal server di origine, anche se esiste una copia memorizzata nella cache nel proxy. |
|
Impone un download del file, dell'oggetto o dell'elenco di directory richiesto dal server di origine e non dalla cache. |
|
Ricarica le risorse HTTP se la risorsa è stata modificata dall'ultima volta che è stata scaricata. Tutte le risorse FTP vengono ricaricate.
Windows XP e Windows Server 2003 R2 e versioni precedenti: Vengono ricaricate anche le risorse gopher. |
|
Utilizza semantica sicura delle transazioni. Ciò si traduce nell'uso di Secure Sockets Layer/Private Communications Technology (SSL/PCT) ed è significativo solo nelle richieste HTTP. |
[in] dwContext
Puntatore a una variabile contenente il valore definito dall'applicazione che associa questa operazione a qualsiasi dati dell'applicazione.
Valore restituito
Restituisce un handle di richiesta HTTP se ha esito positivo o NULL in caso contrario. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Commenti
La funzione HttpOpenRequest crea un nuovo handle di richiesta HTTP e archivia i parametri specificati in tale handle. Un handle di richiesta HTTP contiene una richiesta da inviare a un server HTTP e contiene tutte le intestazioni RFC822/MIME/HTTP da inviare come parte della richiesta.
Se viene specificato un verbo diverso da "GET" o "POST", HttpOpenRequest imposta automaticamente INTERNET_FLAG_NO_CACHE_WRITE e INTERNET_FLAG_RELOAD per la richiesta.
Con Microsoft Internet Explorer 5 e versioni successive, se lpszVerb è impostato su "HEAD", l'intestazione Content-Length viene ignorata nelle risposte dai server HTTP/1.1.
In Windows 7, Windows Server 2008 R2 e versioni successive, il parametro lpszVersion viene sottoposto a override dalle impostazioni di Internet Explorer. Il EnableHttp1_1 è un valore del Registro di sistema in HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE controllato da Opzioni Internet impostate in Internet Explorer per il sistema. Il valore EnableHttp1_1 è predefinito su 1. La funzione HttpOpenRequest aggiorna qualsiasi versione HTTP minore di 1.1 a HTTP versione 1.1 se EnableHttp1_1 è impostata su 1.
Al termine dell'applicazione chiamante, l'handle HINTERNET restituito da HttpOpenRequest deve essere chiuso usando la funzione InternetCloseHandle .
Nota Quando una richiesta viene inviata in modalità asincrona (il parametro dwFlags di InternetOpen specifica INTERNET_FLAG_ASYNC) e il parametro dwContext è zero (INTERNET_NO_CALLBACK), la funzione di callback impostata con InternetSetStatusCallback nell'handle della richiesta non verrà richiamata, ma la chiamata verrà comunque eseguita in modalità asincrona.
Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro dall'interno di DllMain o dai costruttori e distruttori degli oggetti globali.
Nota
L'intestazione wininet.h definisce HttpOpenRequest come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wininet.h |
Libreria | Wininet.lib |
DLL | Wininet.dll |