Função InternetGetCookieA (wininet.h)

Recupera o cookie para a URL especificada.

Sintaxe

BOOL InternetGetCookieA(
  [in]      LPCSTR  lpszUrl,
  [in]      LPCSTR  lpszCookieName,
  [out]     LPSTR   lpszCookieData,
  [in, out] LPDWORD lpdwSize
);

Parâmetros

[in] lpszUrl

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a URL para a qual os cookies devem ser recuperados.

[in] lpszCookieName

Não implementado.

[out] lpszCookieData

Um ponteiro para um buffer que recebe os dados do cookie. Este parâmetro pode ser NULL.

[in, out] lpdwSize

Um ponteiro para uma variável que especifica o tamanho do buffer de parâmetro lpszCookieData , em TCHARs. Se a função for bem-sucedida, o buffer receberá a quantidade de dados copiados para o buffer lpszCookieData . Se lpszCookieData for NULL, esse parâmetro receberá um valor que especifica o tamanho do buffer necessário para copiar todos os dados de cookie, expressos como uma contagem de bytes.

Valor retornado

Se a função for bem-sucedida, a função retornará TRUE.

Se a função falhar, ela retornará FALSE. Para obter dados de erro estendidos, chame GetLastError.

Os valores de erro a seguir se aplicam a InternetGetCookie.

Código de retorno Descrição
ERROR_NO_MORE_ITEMS
Não há nenhum cookie para a URL especificada e todos os seus pais.
ERROR_INSUFFICIENT_BUFFER
O valor passado em lpdwSize é insuficiente para copiar todos os dados do cookie. O valor retornado em lpdwSize é o tamanho do buffer necessário para obter todos os dados.
ERROR_INVALID_PARAMETER
Um ou mais dos parâmetros são inválidos.

O parâmetro lpszUrl é NULL.

Comentários

InternetGetCookie não requer uma chamada para InternetOpen. O InternetGetCookie verifica no diretório windows\cookies os cookies persistentes que têm uma data de validade definida em algum momento no futuro. InternetGetCookie também pesquisa memória para cookies de sessão, ou seja, cookies que não têm uma data de validade que foram criados no mesmo processo por InternetSetCookie, porque esses cookies não são gravados em nenhum arquivo. As regras para criar arquivos de cookie são internas para o sistema e podem ser alteradas no futuro.

Conforme observado em Cookies HTTP, o InternetGetCookie não retorna cookies marcados como não scripts pelo servidor com o atributo "HttpOnly" no cabeçalho Set-Cookie.

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define InternetGetCookie como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

HTTP Cookies

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

Gerenciando cookies

Funções WinINet