Funzione InternetOpenUrlA (wininet.h)

Apre una risorsa specificata da un URL FTP o HTTP completo.

Sintassi

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

Parametri

[in] hInternet

Handle per la sessione Internet corrente. L'handle deve essere stato restituito da una chiamata precedente a InternetOpen.

[in] lpszUrl

Puntatore a una variabile stringa con terminazione Null che specifica l'URL da leggere. Sono supportati solo gli URL che iniziano con ftp:, http:o https: .

[in] lpszHeaders

Puntatore a una stringa con terminazione Null che specifica le intestazioni da inviare al server HTTP. Per altre informazioni, vedere la descrizione del parametro lpszHeaders nella funzione HttpSendRequest .

[in] dwHeadersLength

Dimensioni delle intestazioni aggiuntive, in TCHAR. Se questo parametro è -1L e lpszHeaders non è NULL, si presuppone che lpszHeaders sia con terminazione zero (ASCIIZ) e la lunghezza venga calcolata.

[in] dwFlags

Questo parametro può avere uno dei valori seguenti.

Valore Significato
INTERNET_FLAG_EXISTING_CONNECT
Tenta di utilizzare un oggetto InternetConnect esistente se ne esiste uno con gli stessi attributi necessari per effettuare la richiesta. Ciò è utile solo con le operazioni FTP, poiché FTP è l'unico protocollo che in genere esegue più operazioni durante la stessa sessione. L'API WinINet memorizza nella cache un singolo handle di connessione per ogni handle DI RETE GESTITo da InternetOpen. InternetOpenUrl usa questo flag per le connessioni HTTP e FTP.
INTERNET_FLAG_HYPERLINK
Forza un ricaricamento se non è presente un'ora di scadenza e non viene restituito alcun tempo LastModified dal server quando si determina se ricaricare l'elemento dalla rete.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
Disabilita il controllo dei certificati basati su SSL/PCT restituiti dal server rispetto al nome host specificato nella richiesta. Le funzioni WinINet usano un semplice controllo sui certificati confrontando i nomi host corrispondenti e le regole di caratteri jolly semplici.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
Disabilita il controllo dei certificati basati su SSL/PCT per le date di validità appropriate.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
Disabilita il rilevamento di questo tipo speciale di reindirizzamento. Quando si usa questo flag, WinINet consente in modo trasparente i reindirizzamenti da HTTPS a URL HTTP.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Disabilita il rilevamento di questo tipo speciale di reindirizzamento. Quando si usa questo flag, WinINet consente in modo trasparente i reindirizzamenti da HTTP a URL HTTPS.
INTERNET_FLAG_KEEP_CONNECTION
Usa la semantica keep-alive, se disponibile, per la connessione. Questo flag è obbligatorio per Microsoft Network (MSN), NTLM e altri tipi di autenticazione.
INTERNET_FLAG_NEED_FILE
Determina la creazione di un file temporaneo se il file non può essere memorizzato nella cache.
INTERNET_FLAG_NO_AUTH
Non tenta automaticamente l'autenticazione.
INTERNET_FLAG_NO_AUTO_REDIRECT
Non gestisce automaticamente il reindirizzamento in HttpSendRequest.
INTERNET_FLAG_NO_CACHE_WRITE
Non aggiunge l'entità restituita alla cache.
INTERNET_FLAG_NO_COOKIES
Non aggiunge automaticamente intestazioni di cookie alle richieste e non aggiunge automaticamente i cookie restituiti al database dei cookie.
INTERNET_FLAG_NO_UI
Disabilita la finestra di dialogo cookie.
INTERNET_FLAG_PASSIVE
Usa la semantica FTP passiva. InternetOpenUrl usa questo flag per i file FTP e le directory.
INTERNET_FLAG_PRAGMA_NOCACHE
Forza la richiesta a essere risolta dal server di origine, anche se esiste una copia memorizzata nella cache nel proxy.
INTERNET_FLAG_RAW_DATA
Restituisce i dati come struttura WIN32_FIND_DATA durante il recupero delle informazioni sulla directory FTP. Se questo flag non viene specificato o se la chiamata è stata effettuata tramite un proxy CERN, InternetOpenUrl restituisce la versione HTML della directory.

Windows XP e Windows Server 2003 R2 e versioni precedenti: Restituisce anche i dati come struttura GOPHER_FIND_DATA durante il recupero delle informazioni sulla directory Gopher.

INTERNET_FLAG_RELOAD
Impone un download del file, dell'oggetto o dell'elenco di directory richiesto dal server di origine e non dalla cache.
INTERNET_FLAG_RESYNCHRONIZE
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.

INTERNET_FLAG_SECURE
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 che specifica il valore definito dall'applicazione passato, insieme all'handle restituito, a qualsiasi funzione di callback.

Valore restituito

Restituisce un handle valido per l'URL se la connessione viene stabilita correttamente oppure NULL se la connessione non riesce. Per recuperare un messaggio di errore specifico, chiamare GetLastError. Per determinare il motivo per cui l'accesso al servizio è stato negato, chiamare InternetGetLastResponseInfo.

Commenti

Chiamare InternetCanonicalizeUrl prima se l'URL usato contiene un URL relativo e un URL di base separati da spazi vuoti.

Si tratta di una funzione generale che un'applicazione può usare per recuperare i dati su qualsiasi protocollo supportato da WinINet. Questa funzione è particolarmente utile quando l'applicazione non deve accedere ai particolari di un protocollo, ma richiede solo i dati corrispondenti a un URL. La funzione InternetOpenUrl analizza la stringa url, stabilisce una connessione al server e prepara a scaricare i dati identificati dall'URL. L'applicazione può quindi usare InternetReadFile (per i file) o InternetFindNextFile (per le directory) per recuperare i dati dell'URL. Non è necessario chiamare InternetConnect prima di InternetOpenUrl.

Windows XP e Windows Server 2003 R2 e versioni precedenti: InternetOpenUrl disabilita Gopher sulle porte inferiori a 1024, ad eccezione della porta 70, la porta Gopher standard e la porta 105, in genere usata per le ricerche dei nomi cso (Central Services Organization).

Dopo che l'applicazione chiamante ha terminato di utilizzare l'handle DELL'interfaccia UTENTE RESTITUITA da InternetOpenUrl, deve essere chiusa tramite la funzione InternetCloseHandle .

Nota Quando si lavora 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 sull'handle di sessione 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 da DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare i servizi HTTP di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce InternetOpenUrl come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
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

Vedi anche

Gestione di localizzatori di risorse uniformi

Funzioni WinINet