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

Consulte también

Macros y globales
CInternetException (clase)
AfxParseURL