Condividi tramite


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 un nullvariabile stringa con terminazione che specifica l'URL da iniziare a leggere. Sono supportati solo gli URL che iniziano con ftp:, http:o https: .

[in] lpszHeaders

Puntatore a un nullstringa con terminazione 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 TCHARs. Se questo parametro è -1L e lpszHeaders non è NULL, lpszHeaders viene considerato con terminazione zero (ASCIIZ) e la lunghezza viene calcolata.

[in] dwFlags

Questo parametro può essere uno dei valori seguenti.

Valore Significato
INTERNET_FLAG_EXISTING_CONNECT
Tenta di utilizzare un oggetto InternetConnect esistente, se presente 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 GENERATO 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 per determinare 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 controllo semplice rispetto ai certificati confrontando i nomi host corrispondenti e le semplici regole di caratteri jolly.
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 viene usato questo flag, WinINet consente in modo trasparente i reindirizzamenti da HTTPS agli URL HTTP.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Disabilita il rilevamento di questo tipo speciale di reindirizzamento. Quando viene usato 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 l'autenticazione automaticamente.
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 file e directory FTP.
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
Forza un download del file, dell'oggetto o dell'elenco di directory richiesto dal server di origine, 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.

anche le risorse di Windows XP e Windows Server 2003 R2 e versioni precedenti: vengono ricaricate anche le risorse di Gopher .

INTERNET_FLAG_SECURE
Usa la semantica delle transazioni sicura. 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 è stato negato l'accesso al servizio, chiamare InternetGetLastResponseInfo.

Osservazioni

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 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 dell'organizzazione dei servizi centrali.

Al termine dell'utilizzo dell'applicazione chiamante, l'handle di RESTITUITO da InternetOpenUrl, deve essere chiuso utilizzando 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, Tuttavia, 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 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 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wininet.h
libreria Wininet.lib
dll Wininet.dll

Vedere anche

la gestione di localizzatori di risorse uniformi

funzioni WinINet