Condividi tramite


Funzione InternetOpenA (wininet.h)

Inizializza l'uso di un'applicazione delle funzioni WinINet.

Sintassi

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

Parametri

[in] lpszAgent

Puntatore a un nullstringa con terminazione che specifica il nome dell'applicazione o dell'entità che chiama le funzioni WinINet. Questo nome viene usato come agente utente nel protocollo HTTP.

[in] dwAccessType

Tipo di accesso richiesto. Questo parametro può essere uno dei valori seguenti.

Valore Significato
INTERNET_OPEN_TYPE_DIRECT
Risolve tutti i nomi host in locale.
INTERNET_OPEN_TYPE_PRECONFIG
Recupera il proxy o la configurazione diretta dal Registro di sistema.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Recupera il proxy o la configurazione diretta dal Registro di sistema e impedisce l'uso di un file microsoft JScript di avvio o installazione Internet (INS).
INTERNET_OPEN_TYPE_PROXY
Passa le richieste al proxy a meno che non venga specificato un elenco di bypass proxy e il nome da risolvere ignora il proxy. In questo caso, la funzione usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Puntatore a un nullstringa con terminazione che specifica il nome dei server proxy da utilizzare quando viene specificato l'accesso proxy impostando dwAccessType su INTERNET_OPEN_TYPE_PROXY. Non usare una stringa vuota, perché InternetOpen lo userà come nome proxy. Le funzioni WinINet riconoscono solo proxy di tipo CERN (solo HTTP) e il gateway FTP TIS (solo FTP). Se Microsoft Internet Explorer è installato, queste funzioni supportano anche proxy SOCKS. Le richieste FTP possono essere effettuate tramite un proxy di tipo CERN modificandole in una richiesta HTTP o usando InternetOpenUrl. Se dwAccessType non è impostato su INTERNET_OPEN_TYPE_PROXY, questo parametro viene ignorato e deve essere NULL. Per altre informazioni sull'elenco dei server proxy, vedere la sezione Elenco dei server proxy di Abilitazione della funzionalità Internet.

[in] lpszProxyBypass

Puntatore a un nullstringa con terminazione che specifica un elenco facoltativo di nomi host o indirizzi IP o entrambi, che non devono essere indirizzati attraverso il proxy quando dwAccessType è impostato su INTERNET_OPEN_TYPE_PROXY. L'elenco può contenere caratteri jolly. Non usare una stringa vuota, perché InternetOpen lo userà come elenco di bypass proxy. Se questo parametro specifica la macro "<locale>", la funzione ignora il proxy per qualsiasi nome host che non contenga un punto.

Per impostazione predefinita, WinINet ignora il proxy per le richieste che usano i nomi host "localhost", "loopback", "127.0.0.1" o "[::1]". Questo comportamento esiste perché in genere un server proxy remoto non risolverà correttamente questi indirizzi.Internet Explorer 9: È possibile rimuovere il computer locale dall'elenco di bypass proxy usando la macro "<-loopback>".

Se dwAccessType non è impostato su INTERNET_OPEN_TYPE_PROXY, questo parametro viene ignorato e deve essere NULL.

[in] dwFlags

Opzioni. Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
INTERNET_FLAG_ASYNC
Effettua solo richieste asincrone su handle discendenti dall'handle restituito da questa funzione.
INTERNET_FLAG_FROM_CACHE
Non effettua richieste di rete. Tutte le entità vengono restituite dalla cache. Se l'elemento richiesto non è presente nella cache, viene restituito un errore appropriato, ad esempio ERROR_FILE_NOT_FOUND.
INTERNET_FLAG_OFFLINE
Identico a INTERNET_FLAG_FROM_CACHE. Non effettua richieste di rete. Tutte le entità vengono restituite dalla cache. Se l'elemento richiesto non è presente nella cache, viene restituito un errore appropriato, ad esempio ERROR_FILE_NOT_FOUND.

Valore restituito

Restituisce un handle valido passato dall'applicazione alle funzioni WinINet successive. Se InternetOpen ha esito negativo, restituisce NULL. Per recuperare un messaggio di errore specifico, chiamare GetLastError.

Osservazioni

InternetOpen è la prima funzione WinINet chiamata da un'applicazione. Indica alla DLL Internet di inizializzare le strutture di dati interne e prepararsi per le chiamate future dall'applicazione. Al termine dell'uso delle funzioni Internet, l'applicazione deve chiamare InternetCloseHandle per liberare l'handle e le risorse associate.

L'applicazione può effettuare un numero qualsiasi di chiamate a InternetOpen, anche se una singola chiamata è normalmente sufficiente. L'applicazione potrebbe dover definire comportamenti separati per ogni 'istanza di InternetOpen, ad esempio server proxy diversi configurati per ognuno di essi.

Al termine dell'utilizzo dell'applicazione chiamante, l'handle di restituito da InternetOpen, deve essere chiuso utilizzando la funzione InternetCloseHandle.

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 InternetOpen 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

Abilitazione della funzionalità Internet

funzioni WinINet