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