Funzione InternetConnectA (wininet.h)
Apre una sessione FTP (File Transfer Protocol) o HTTP per un determinato sito.
Sintassi
HINTERNET InternetConnectA(
[in] HINTERNET hInternet,
[in] LPCSTR lpszServerName,
[in] INTERNET_PORT nServerPort,
[in] LPCSTR lpszUserName,
[in] LPCSTR lpszPassword,
[in] DWORD dwService,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Parametri
[in] hInternet
Handle restituito da una chiamata precedente a InternetOpen.
[in] lpszServerName
Puntatore a un nullstringa con terminazione che specifica il nome host di un server Internet. In alternativa, la stringa può contenere il numero IP del sito, in formato decimale punteggiato ASCII, ad esempio 11.0.1.45.
[in] nServerPort
Porta TCP/IP (Transmission Control Protocol/Internet Protocol) nel server. Questi flag impostano solo la porta usata. Il servizio viene impostato dal valore di dwService. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Usa la porta predefinita per i server FTP (porta 21). |
|
Usa la porta predefinita per i server Gopher (porta 70).
Nota Solo Windows XP e Windows Server 2003 R2 e versioni precedenti.
|
|
Usa la porta predefinita per i server HTTP (porta 80). |
|
Usa la porta predefinita per i server HTTPS (Secure Hypertext Transfer Protocol) (porta 443). |
|
Usa la porta predefinita per i server firewall SOCKS (porta 1080). |
|
Usa la porta predefinita per il servizio specificato da dwService. |
[in] lpszUserName
Puntatore a un nullstringa con terminazione che specifica il nome dell'utente per l'accesso. Se questo parametro è NULL, la funzione usa un valore predefinito appropriato. Per il protocollo FTP, il valore predefinito è "anonimo".
[in] lpszPassword
Puntatore a un nullstringa con terminazione contenente la password da usare per l'accesso. Se sia lpszPassword che lpszUsername sono null, la funzione usa la password predefinita "anonima". Nel caso di FTP, la password predefinita è il nome di posta elettronica dell'utente. Se lpszPassword è NULL, ma lpszUsername non è NULL, la funzione usa una password vuota.
[in] dwService
Tipo di servizio a cui accedere. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Servizio FTP. |
|
Servizio Gopher.
Nota Solo Windows XP e Windows Server 2003 R2 e versioni precedenti.
|
|
Servizio HTTP. |
[in] dwFlags
Opzioni specifiche del servizio usato. Se
dwService è INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE fa sì che l'applicazione usi la semantica FTP passiva.
[in] dwContext
Puntatore a una variabile che contiene un valore definito dall'applicazione usato per identificare il contesto dell'applicazione per l'handle restituito nei callback.
Valore restituito
Restituisce un handle valido per la sessione se la connessione ha esito positivo o null in caso contrario. Per recuperare informazioni sull'errore estese, chiamare GetLastError. Un'applicazione può anche usare InternetGetLastResponseInfo per determinare il motivo per cui è stato negato l'accesso al servizio.
Osservazioni
Nella tabella seguente viene descritto il comportamento per le quattro possibili impostazioni di lpszUsername e lpszPassword.
lpszUsername | lpszPassword | Nome utente inviato al server FTP | Password inviata al server FTP |
---|---|---|---|
NULL | NULL | "anonimo" | Nome di posta elettronica dell'utente |
Stringa di |
NULL | lpszUsername | "" |
NULL | Stringa di |
ERRORE | ERRORE |
Stringa di |
Stringa di |
lpszUsername | lpszPassword |
Per i siti FTP, InternetConnect stabilisce effettivamente una connessione con il server; per altri, la connessione effettiva non viene stabilita fino a quando l'applicazione non richiede una transazione specifica.
Per garantire la massima efficienza, le applicazioni che usano i protocolli HTTP devono provare a ridurre al minimo le chiamate a InternetConnect ed evitare di chiamare questa funzione per ogni transazione richiesta dall'utente. Un modo per eseguire questa operazione consiste nel mantenere una piccola cache di handle restituiti da InternetConnect; quando l'utente effettua una richiesta a un server a cui si accede in precedenza, tale handle di sessione è ancora disponibile.
Al termine dell'utilizzo dell'applicazione chiamante tramite l'handle di
Esempi di utilizzo di InternetConnect sono disponibili negli argomenti seguenti.
- gestione dei di autenticazione
- 'applicazione asincrona di esempio
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
L'intestazione wininet.h definisce InternetConnect 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 |