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 una stringa con terminazione Null 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ò avere 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 inS (Microsoft JScript o Internet Setup) di avvio.
INTERNET_OPEN_TYPE_PROXY
Passa le richieste al proxy a meno che non venga specificato un elenco di bypass del proxy e il nome da risolvere ignora il proxy. In questo caso, la funzione usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Puntatore a una stringa con terminazione Null che specifica il nome dei server proxy da usare quando l'accesso proxy viene specificato 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 è installato Microsoft Internet Explorer, queste funzioni supportano anche proxy SOCKS. Le richieste FTP possono essere effettuate tramite un proxy di tipo CERN modificandole in una richiesta HTTP o tramite 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 una stringa con terminazione Null che specifica un elenco facoltativo di nomi host o indirizzi IP o entrambi che non devono essere indirizzati tramite 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 del proxy. Se questo parametro specifica la macro "<local>", 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 del 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
Esegue 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 che l'applicazione passa alle funzioni WinINet successive. Se InternetOpen ha esito negativo, restituisce NULL. Per recuperare un messaggio di errore specifico, chiamare GetLastError.

Commenti

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 qualsiasi numero 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 ogni istanza.

Dopo che l'applicazione chiamante ha terminato l'uso dell'handle DELL'interfaccia UTENTE RESTITUITA da InternetOpen, deve essere chiusa tramite la funzione InternetCloseHandle .

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

Abilitazione della funzionalità Internet

Funzioni WinINet