Internet URL Parsing Globals and Helpers
Quando un client invia una query al server Internet, è possibile usare uno dei globali di analisi url per estrarre informazioni sul client. Le funzioni helper forniscono altre funzionalità Internet.
Funzioni globali di analisi degli URL Internet
Nome | Descrizione |
---|---|
AfxParseURL | Analizza una stringa URL e restituisce il tipo di servizio e i relativi componenti. |
AfxParseURLEx | Analizza una stringa URL e restituisce il tipo di servizio e i relativi componenti, oltre a fornire il nome utente e la password. |
Altri helper Internet
Nome | Descrizione |
---|---|
AfxThrowInternetException | Genera un'eccezione correlata alla connessione Internet. |
AfxGetInternetHandleType | Determina il tipo di handle Internet. |
AfxParseURL
Questo valore globale viene usato in CInternetSession::OpenURL.
BOOL AFXAPI AfxParseURL(
LPCTSTR pstrURL,
DWORD& dwServiceType,
CString& strServer,
CString& strObject,
INTERNET_PORT& nPort);
Parametri
pstrURL
Puntatore a una stringa contenente l'URL da analizzare.
dwServiceType
Indica il tipo di servizio Internet. I possibili valori sono i seguenti:
AFX_INET_SERVICE_FTP
AFX_INET_SERVICE_HTTP
AFX_INET_SERVICE_HTTPS
AFX_INET_SERVICE_GOPHER
AFX_INET_SERVICE_FILE
AFX_INET_SERVICE_MAILTO
AFX_INET_SERVICE_NEWS
AFX_INET_SERVICE_NNTP
AFX_INET_SERVICE_TELNET
AFX_INET_SERVICE_WAIS
AFX_INET_SERVICE_MID
AFX_INET_SERVICE_CID
AFX_INET_SERVICE_PROSPERO
AFX_INET_SERVICE_AFS
AFX_INET_SERVICE_UNK
strServer
Primo segmento dell'URL che segue il tipo di servizio.
strObject
Oggetto a cui fa riferimento l'URL (può essere vuoto).
nPort
Determinato dalle parti Server o Object dell'URL, se presenti.
Valore restituito
Diverso da zero se l'URL è stato analizzato correttamente; in caso contrario, 0 se è vuoto o non contiene un tipo di servizio Internet noto.
Osservazioni:
Analizza una stringa URL e restituisce il tipo di servizio e i relativi componenti.
Ad esempio, AfxParseURL
analizza gli URL del form service://server/dir/dir/object.ext:port e restituisce i relativi componenti archiviati nel modo seguente:
strServer == "server"
strObject == "/dir/dir/object/object.ext"
nPort == #port
dwServiceType == #service
Nota
Per chiamare questa funzione, il progetto deve includere AFXINET.H.
Requisiti
Intestazione afxinet.h
AfxParseURLEx
Questa funzione globale è la versione estesa di AfxParseURL e viene usata in CInternetSession::OpenURL.
BOOL AFXAPI AfxParseURLEx(
LPCTSTR pstrURL,
DWORD& dwServiceType,
CString& strServer,
CString& strObject,
INTERNET_PORT& nPort,
CString& strUsername,
CString& strPassword,
DWORD dwFlags = 0);
Parametri
pstrURL
Puntatore a una stringa contenente l'URL da analizzare.
dwServiceType
Indica il tipo di servizio Internet. I possibili valori sono i seguenti:
AFX_INET_SERVICE_FTP
AFX_INET_SERVICE_HTTP
AFX_INET_SERVICE_HTTPS
AFX_INET_SERVICE_GOPHER
AFX_INET_SERVICE_FILE
AFX_INET_SERVICE_MAILTO
AFX_INET_SERVICE_NEWS
AFX_INET_SERVICE_NNTP
AFX_INET_SERVICE_TELNET
AFX_INET_SERVICE_WAIS
AFX_INET_SERVICE_MID
AFX_INET_SERVICE_CID
AFX_INET_SERVICE_PROSPERO
AFX_INET_SERVICE_AFS
AFX_INET_SERVICE_UNK
strServer
Primo segmento dell'URL che segue il tipo di servizio.
strObject
Oggetto a cui fa riferimento l'URL (può essere vuoto).
nPort
Determinato dalle parti Server o Object dell'URL, se presenti.
strUsername
Riferimento a un CString
oggetto contenente il nome dell'utente.
strPassword
Riferimento a un CString
oggetto contenente la password dell'utente.
dwFlags
Flag che controllano come analizzare l'URL. Può essere una combinazione dei valori seguenti:
Valore | Significato |
---|---|
ICU_DECODE | Convertire le sequenze di escape %XX in caratteri. |
ICU_NO_ENCODE | Non convertire caratteri non sicuri in sequenza di escape. |
ICU_NO_META | Non rimuovere le sequenze meta (ad esempio "\ " e "\ ..") dall'URL. |
ICU_ENCODE_SPACES_ONLY | Codifica solo gli spazi. |
ICU_BROWSER_MODE | Non codificare o decodificare i caratteri dopo '#' o '' e non rimuovere lo spazio vuoto finale dopo ''. Se questo valore non viene specificato, l'intero URL viene codificato e lo spazio vuoto finale viene rimosso. |
Se si usa il valore predefinito MFC, che non è alcun flag, la funzione converte tutti i caratteri non sicuri e le sequenze meta (ad esempio \.,\ .., e \...) in sequenze di escape.
Valore restituito
Diverso da zero se l'URL è stato analizzato correttamente; in caso contrario, 0 se è vuoto o non contiene un tipo di servizio Internet noto.
Osservazioni:
Analizza una stringa URL e restituisce il tipo di servizio e i relativi componenti, oltre a fornire il nome e la password dell'utente. I flag indicano come vengono gestiti i caratteri non sicuri.
Nota
Per chiamare questa funzione, il progetto deve includere AFXINET.H.
Requisiti
Intestazione afxinet.h
AfxGetInternetHandleType
Utilizzare questa funzione globale per determinare il tipo di handle Internet.
Sintassi
DWORD AFXAPI AfxGetInternetHandleType( HINTERNET hQuery );
Parametri
hQuery
Handle per una query Internet.
Valore restituito
Qualsiasi tipo di servizio Internet definito da WININET.H. Per un elenco di questi servizi Internet, vedere la sezione Osservazioni. Se l'handle è NULL o non riconosciuto, la funzione restituisce AFX_INET_SERVICE_UNK.
Osservazioni:
L'elenco seguente include i possibili tipi Internet restituiti da AfxGetInternetHandleType
.
INTERNET_HANDLE_TYPE_INTERNET
INTERNET_HANDLE_TYPE_CONNECT_FTP
INTERNET_HANDLE_TYPE_CONNECT_GOPHER
INTERNET_HANDLE_TYPE_CONNECT_HTTP
INTERNET_HANDLE_TYPE_FTP_FIND
INTERNET_HANDLE_TYPE_FTP_FIND_HTML
INTERNET_HANDLE_TYPE_FTP_FILE
INTERNET_HANDLE_TYPE_FTP_FILE_HTML
INTERNET_HANDLE_TYPE_GOPHER_FIND
INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML
INTERNET_HANDLE_TYPE_GOPHER_FILE
INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML
INTERNET_HANDLE_TYPE_HTTP_REQUEST
Nota
Per chiamare questa funzione, il progetto deve includere AFXINET.H.
Requisiti
Intestazione: afxinet.h
AfxThrowInternetException
Genera un'eccezione Internet.
Sintassi
void AFXAPI AfxThrowInternetException( DWORD dwContext, DWORD dwError = 0 );
Parametri
dwContext
Identificatore di contesto per l'operazione che ha causato l'errore. Il valore predefinito di dwContext viene specificato originariamente in CInternetSession e viene passato alle classi derivate da CInternetConnection e CInternetFile. Per operazioni specifiche eseguite su una connessione o un file, in genere si esegue l'override dell'impostazione predefinita con un oggetto dwContext personalizzato. Questo valore viene quindi restituito a CInternetSession::OnStatusCallback per identificare lo stato dell'operazione specifica.
dwError
Errore che ha causato l'eccezione.
Osservazioni:
L'utente è responsabile della determinazione della causa in base al codice di errore del sistema operativo.
Nota
Per chiamare questa funzione, il progetto deve includere AFXINET.H.
Requisiti
Intestazione: afxinet.h