Condividi tramite


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

Vedi anche

Macro e globali
Classe CInternetException
AfxParseURL