Compartilhar via


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 um cadeia de caracteresterminada nula 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 de cookie. Esse 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 de 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 de retorno

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

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 de 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.

Observações

InternetGetCookie não requer uma chamada para InternetOpen. 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 expiração que foram criados no mesmo processo internetSetCookie, pois esses cookies não são gravados em nenhum arquivo. As regras para criar arquivos de cookie são internas no sistema e podem ser alteradas no futuro.

Conforme observado em de Cookies HTTP, InternetGetCookie não retorna cookies que o servidor marcou como não script com o atributo "HttpOnly" no cabeçalho Set-Cookie.

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

Observaçã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 ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

de Cookies HTTP

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

gerenciamento de cookies

do WinINet Functions