Análisis de direcciones URL de Internet y asistentes globales
Cuando un cliente envía una consulta al servidor de Internet, puede usar uno de los globales de análisis de direcciones URL para extraer información sobre el cliente. Las funciones auxiliares proporcionan otras funciones de Internet.
Variables globales de análisis de direcciones URL de Internet
Nombre | Descripción |
---|---|
AfxParseURL | Analiza una cadena de dirección URL y devuelve el tipo de servicio y sus componentes. |
AfxParseURLEx | Analiza una cadena de dirección URL y devuelve el tipo de servicio y sus componentes, así como el nombre de usuario y la contraseña. |
Otros asistentes de Internet
Nombre | Descripción |
---|---|
AfxThrowInternetException | Produce una excepción relacionada con la conexión a Internet. |
AfxGetInternetHandleType | Determina el tipo de un identificador de Internet. |
AfxParseURL
Este valor global se usa en CInternetSession::OpenURL.
BOOL AFXAPI AfxParseURL(
LPCTSTR pstrURL,
DWORD& dwServiceType,
CString& strServer,
CString& strObject,
INTERNET_PORT& nPort);
Parámetros
pstrURL
Un puntero a una cadena que contiene la URL a la que se analiza.
dwServiceType
Indica el tipo de servicio de Internet. Los valores posibles son los siguientes:
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
Primer segmento de la dirección URL que sigue al tipo de servicio.
strObject
Objeto al que hace referencia la dirección URL (puede estar vacío).
nPort
Se determina a partir de las partes del servidor o del objeto de la dirección URL, si existe.
Valor devuelto
Distinto de cero si la dirección URL se ha analizado correctamente; de lo contrario, 0 si está vacío o no contiene un tipo de servicio de Internet conocido.
Comentarios
Analiza una cadena de dirección URL y devuelve el tipo de servicio y sus componentes.
Por ejemplo, AfxParseURL
analiza las direcciones URL del formulario service://server/dir/dir/object.ext:port y devuelve sus componentes almacenados de la siguiente manera:
strServer == "server"
strObject == "/dir/dir/object/object.ext"
nPort == #port
dwServiceType == #service
Nota:
Para llamar a esta función, el proyecto debe incluir AFXINET.H.
Requisitos
Encabezado afxinet.h
AfxParseURLEx
Esta función global es la versión extendida de AfxParseURL y se usa en CInternetSession::OpenURL.
BOOL AFXAPI AfxParseURLEx(
LPCTSTR pstrURL,
DWORD& dwServiceType,
CString& strServer,
CString& strObject,
INTERNET_PORT& nPort,
CString& strUsername,
CString& strPassword,
DWORD dwFlags = 0);
Parámetros
pstrURL
Un puntero a una cadena que contiene la URL a la que se analiza.
dwServiceType
Indica el tipo de servicio de Internet. Los valores posibles son los siguientes:
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
Primer segmento de la dirección URL que sigue al tipo de servicio.
strObject
Objeto al que hace referencia la dirección URL (puede estar vacío).
nPort
Se determina a partir de las partes del servidor o del objeto de la dirección URL, si existe.
strUsername
Referencia a un objeto CString
que contiene el nombre del usuario.
strPassword
Referencia a un objeto CString
que contiene la contraseña del usuario.
dwFlags
Marcas que controlan cómo analizar la dirección URL. Puede ser una combinación de los valores siguientes:
Valor | Significado |
---|---|
ICU_DECODE | Convierta %XX secuencias de escape en caracteres. |
ICU_NO_ENCODE | No convierte los caracteres no seguros en secuencias de escape. |
ICU_NO_META | No quite las secuencias meta (como "\ ." y "\ ..") de la dirección URL. |
ICU_ENCODE_SPACES_ONLY | Codificar solo espacios. |
ICU_BROWSER_MODE | No codifique ni descodifique caracteres después de "#" o "", y no quite el espacio en blanco final después de "". Si no se especifica este valor, se codifica toda la dirección URL y se quita el espacio en blanco final. |
Si usa el valor predeterminado de MFC, que no es ninguna marca, la función convierte todos los caracteres no seguros y las secuencias meta (como \.,\ .., y \...) en secuencias de escape.
Valor devuelto
Distinto de cero si la dirección URL se ha analizado correctamente; de lo contrario, 0 si está vacío o no contiene un tipo de servicio de Internet conocido.
Comentarios
Analiza una cadena de dirección URL y devuelve el tipo de servicio y sus componentes, así como el nombre de usuario y la contraseña. Las marcas indican cómo se controlan los caracteres no seguros.
Nota:
Para llamar a esta función, el proyecto debe incluir AFXINET.H.
Requisitos
Encabezado afxinet.h
AfxGetInternetHandleType
Use esta función global para determinar el tipo de un identificador de Internet.
Sintaxis
DWORD AFXAPI AfxGetInternetHandleType( HINTERNET hQuery );
Parámetros
hQuery
Identificador de una consulta de Internet.
Valor devuelto
Cualquiera de los tipos de servicio de Internet definidos por WININET.H. Consulte la sección Comentarios para obtener una servicios de Internet. Si el identificador es NULL o no se reconoce, la función devuelve AFX_INET_SERVICE_UNK.
Comentarios
En la lista siguiente se incluyen posibles tipos de Internet devueltos por 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:
Para llamar a esta función, el proyecto debe incluir AFXINET.H.
Requisitos
Encabezado: afxinet.h
AfxThrowInternetException
Produce una excepción de Internet.
Sintaxis
void AFXAPI AfxThrowInternetException( DWORD dwContext, DWORD dwError = 0 );
Parámetros
dwContext
Identificador de contexto de la operación que provocó el error. El valor predeterminado de dwContext se especifica originalmente en CInternetSession y se pasa a las clases derivadas de CInternetConnection y CInternetFile. En el caso de operaciones específicas realizadas en una conexión o un archivo, normalmente se invalida el valor predeterminado con dwContext propio. A continuación, este valor se devuelve a CInternetSession::OnStatusCallback para identificar el estado de la operación específica.
dwError
Error que provocó la excepción.
Comentarios
Usted es responsable de determinar la causa con base en el código de error del sistema operativo.
Nota:
Para llamar a esta función, el proyecto debe incluir AFXINET.H.
Requisitos
Encabezado: afxinet.h