Partilhar via


Globais e auxiliares de análise de URL da Internet

Quando um cliente envia uma consulta para o servidor da Internet, você pode usar um dos globais de análise de URL para extrair informações sobre o cliente. As funções auxiliares fornecem outras funcionalidades da Internet.

Globais de análise de URL da Internet

Nome Descrição
AfxParseURL Analisa uma cadeia de caracteres de URL e retorna o tipo de serviço e seus componentes.
AfxParseURLEx Analisa uma cadeia de caracteres de URL e retorna o tipo de serviço e seus componentes, além de fornecer o nome de usuário e a senha.

Outros auxiliares da Internet

Nome Descrição
AfxThrowInternetException Gera uma exceção relacionada à conexão com a Internet.
AfxGetInternetHandleType Determina o tipo de um identificador da Internet.

AfxParseURL

Esse global é usado em CInternetSession::OpenURL.

BOOL AFXAPI AfxParseURL(
    LPCTSTR pstrURL,
    DWORD& dwServiceType,
    CString& strServer,
    CString& strObject,
    INTERNET_PORT& nPort);

Parâmetros

pstrURL
Um ponteiro para uma cadeia de caracteres que contém a URL a ser analisada.

dwServiceType
Indica o tipo de serviço de Internet. Os valores possíveis são:

  • 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
O primeiro segmento da URL seguindo o tipo de serviço.

strObject
Um objeto ao qual a URL se refere (pode estar vazio).

nPort
Determinado nas partes de Servidor ou Objeto da URL, se houver.

Valor de retorno

Diferente de zero se a URL foi analisada com êxito; caso contrário, 0 se estiver vazia ou não contiver um tipo de serviço de Internet conhecido.

Comentários

Ela analisa uma cadeia de caracteres de URL e retorna o tipo de serviço e seus componentes.

Por exemplo, AfxParseURL analisa URLs no formato service://server/dir/dir/object.ext:port e retorna seus componentes armazenados da seguinte maneira:

strServer == "server"

strObject == "/dir/dir/object/object.ext"

nPort == #port

dwServiceType == #service

Observação

Para chamar essa função, o projeto deve incluir AFXINET.H.

Requisitos

Cabeçalho afxinet.h

AfxParseURLEx

Essa função global é a versão estendida de AfxParseURL e é usada em 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
Um ponteiro para uma cadeia de caracteres que contém a URL a ser analisada.

dwServiceType
Indica o tipo de serviço de Internet. Os valores possíveis são:

  • 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
O primeiro segmento da URL seguindo o tipo de serviço.

strObject
Um objeto ao qual a URL se refere (pode estar vazio).

nPort
Determinado nas partes de Servidor ou Objeto da URL, se houver.

strUsername
Uma referência a um objeto CString que contém o nome do usuário.

strPassword
Uma referência a um objeto CString que contém a senha do usuário.

dwFlags
Os sinalizadores que controlam como analisar a URL. Pode ser uma combinação dos seguintes valores:

Valor Significado
ICU_DECODE Converter sequências de escape %XX em caracteres.
ICU_NO_ENCODE Não converter caracteres desprotegidos em sequência de escape.
ICU_NO_META Não remover sequências meta (como "\ ." e "\ ..") da URL.
ICU_ENCODE_SPACES_ONLY Codificar apenas espaços.
ICU_BROWSER_MODE Não codificar ou decodificar caracteres após "#" ou " e não remover o espaço em branco à direita após ". Se esse valor não for especificado, toda a URL será codificada e o espaço em branco à direita será removido.

Se você usar o padrão do MFC, que é não ter nenhum sinalizador, a função converterá todos os caracteres desprotegidos e sequências meta (como \.,\ .. e \...) em sequências de escape.

Valor de retorno

Diferente de zero se a URL foi analisada com êxito; caso contrário, 0 se estiver vazia ou não contiver um tipo de serviço de Internet conhecido.

Comentários

Ela analisa uma cadeia de caracteres de URL e retorna o tipo de serviço e seus componentes, além de fornecer o nome de usuário e a senha. Os sinalizadores indicam como os caracteres desprotegidos são tratados.

Observação

Para chamar essa função, o projeto deve incluir AFXINET.H.

Requisitos

Cabeçalho afxinet.h

AfxGetInternetHandleType

Use essa função global para determinar o tipo de identificador da Internet.

Sintaxe

DWORD AFXAPI AfxGetInternetHandleType(  HINTERNET hQuery );

Parâmetros

hQuery
Um identificador para uma consulta da Internet.

Valor de retorno

Qualquer um dos tipos de serviço de Internet definidos por WININET.H. Consulte a seção Comentários para obter uma lista desses serviços de Internet. Se o identificador for NULL ou não for reconhecido, a função retornará AFX_INET_SERVICE_UNK.

Comentários

A lista a seguir inclui possíveis tipos de Internet retornados 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

Observação

Para chamar essa função, o projeto deve incluir AFXINET.H.

Requisitos

Cabeçalho: afxinet.h

AfxThrowInternetException

Gera uma exceção da Internet.

Sintaxe

   void AFXAPI AfxThrowInternetException(  DWORD dwContext,  DWORD dwError = 0 );

Parâmetros

dwContext
O identificador de contexto da operação que causou o erro. O valor padrão de dwContext é especificado originalmente em CInternetSession e é passado para classes derivadas de CInternetConnection e CInternetFile. Para operações específicas executadas em uma conexão ou em um arquivo, você geralmente substitui o padrão por seu dwContext. Em seguida, esse valor é retornado para CInternetSession::OnStatusCallback para identificar o status da operação específica.

dwError
O erro que causou a exceção.

Comentários

Você é responsável por determinar a causa com base no código de erro do sistema operacional.

Observação

Para chamar essa função, o projeto deve incluir AFXINET.H.

Requisitos

Cabeçalho: afxinet.h

Confira também

Macros e Globais
Classe CInternetException
AfxParseURL