Jhonatas araujo Postado Junho 3, 2008 Denunciar Share Postado Junho 3, 2008 (editado) alguém poderia me dar uma breve explicação Sobre Modolo's ... /?A questão é o seguinte:Gostaria que Meu WebBrowser Captura-se Cookies, e Visualizar em um determinado local do mesmo...Obs:ex:Igual o WebBrower = Navegador Opera ...Poderiam me dar um simples Exemplojá perguntei a Respeito Disso uma vez ... Mais não ficou Muito Claro ...Vlw... Editado Junho 3, 2008 por Jhonatas araujo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Junho 4, 2008 Denunciar Share Postado Junho 4, 2008 Gostaria que Meu WebBrowser Captura-se Cookies, e Visualizar em um determinado local do mesmoCookies são pequenos arquivos texto que são enviados por um servidor WEB para nosso Navegador, e salvos em nossos discos. Eles não podem ser executados e nem conter vírus, podem apenas ser lidos pelo mesmo servidor, somente, que os colocou lá. São usados, geralmente, para guardar informações a respeito do usuário, de suas preferências ou mesmo informações pessoais que nos identificam quando voltamos naquele site. Várias empresas se utilizam deste recurso. Um bom exemplo pode ser visto no site da Amazon ( livraria virtual em www.amazon.com ). Quando compramos algum livro lá, damos informações pessoais como nome, endereço, telefone, etc. Estas informações são armazenadas em nosso sistema, e quando voltamos, eles sabem quem somos, ou seja, não teremos mais que informar os dados novamente. Além disso, nossa cesta de compras é armazenada via Cookies, dessa forma, não importa em que página daquele site estejamos, poderemos navegar direto até a página da compra e efetuá-la. Tudo isto porquê quando uma requisição é atendida, pelo servidor WEB, e uma resposta nos é enviada, nem o servidor nem o Browser cliente se lembram do que ocorreu, e este é o maior desafio na programação de aplicativos WEB, ou seja, a separação das sessões. Cada requisição é tratada como se fosse um novo usuário, e não adianta identificar o usuário pelo seu número IP, pois algumas empresas usam Proxy, e nesse caso dezenas de usuários irão possuir o mesmo IP. Um Cookie nada mais é do que valor texto no formato CookieName=CookieValue, e não deve incluir aspas, vírgulas ou espaçoes em branco. Para aprender mais sobre Cookies veja os Links em Leituras Complementares Existe um método, do TWEBResponse, chamado SetCookieField que serve para enviar um Cookie junto com nosa resposta. Anatomia do Evento SetCookieField: procedure SetCookieField(Values: TStrings; const ADomain, APath: string; AExpires: TDateTime; ASecure: Boolean);beginend;Parâmetros: Values: Um TStrings ( normalmente usaremos TStringList ) onde cada item representa um Cookie, no formato Nome=Valor. ADomain: Domínio ao qual o Cookie pertence. APath: PATH deste domínio ao qual o Cookie pertence. AExpires: Determina por quanto tempo este Cookie deve permanecer válido. ASecure: Se um Cookie deve ou não ser passado apenas por uma conexão segura ( HTPPS ) ADomain e APath são usados em conjunto para identificar o servidor e o Path à qual o Cookie pertence, ou seja, somente quando o usuário visitar este domínio e este path, é que o cookie poderá ser lido pelo servidor WEB. Se, por exemplo, enviarmos um Cookie com 'grupoalianca.com.br' em ADomain e '/' em APath, então, o Navegador do cliente somente permitirá a leitura do Cookie por uma página ou aplicativo pertencente à este domínio. Já se passarmos o valor '/fbn' em APath, apenas as páginas ou aplicativos dentro deste Path poderão ler o Cookie. O AExpires é usado para podermos colocar uma data na qual o Cookie deixará de existir. Se passarmo Now+2 em AExpires nosso Cookie só poderá ser lido nos próximos 2 dias. Se enviarmos uma data passada, o nosso Cookie será apagado. Para fazer um Cookie durar apenas enquanto o navegador do usuário estiver aberto, basta passar em AExpires o valor 0 ( Zero ) ou, no caso do Microsoft IE, -1. Use o TWEBRequest.UserAgent para saber qual o Navegador do cliente. Os Cookies são lidos, por nossos aplicativos, através da propriedade CookieFields de TWEBRequest. Dessa maneira, para lermos o conteúdo de um Cookie chamado usuario, usaremos a seguinte sintaxe: Request.CookieFields.Values[ 'usuario' ]. Devido a problemas com Cookies no Microsoft Internet Explorer, nós devemos colocar no evento OnCreate do nosso TWEBModule a seguinte codificação, para garantir que nosso Cookie funcione independente do Navegador procedure TWebModule1.WebModule1Create(Sender: TObject);begin // ShortDayNames[01] := 'Sun'; ShortDayNames[02] := 'Mon'; ShortDayNames[03] := 'Tue'; ShortDayNames[04] := 'Wed'; ShortDayNames[05] := 'Thu'; ShortDayNames[06] := 'Fri'; ShortDayNames[07] := 'Sat'; // ShortMonthNames[01] := 'Jan'; ShortMonthNames[02] := 'Feb'; ShortMonthNames[03] := 'Mar'; ShortMonthNames[04] := 'Apr'; ShortMonthNames[05] := 'May'; ShortMonthNames[06] := 'Jun'; ShortMonthNames[07] := 'Jul'; ShortMonthNames[08] := 'Aug'; ShortMonthNames[09] := 'Sep'; ShortMonthNames[10] := 'Oct'; ShortMonthNames[11] := 'Nov'; ShortMonthNames[12] := 'Dec';//end;Devemos alterar os nomes dos dias e dos meses para qualquer aplicativo WEB que formos desenvolver, e no qual seja necessário a manipulação de Cookies. Isto é necessário devido a problemas do Delphi. Exemplo 06 - Gera_Cookie:Este é um exemplo bastante simples, temos uma página HTML chamada Gera_Cookie.htm que possui um Form com um campo chamado txt_nome e um botão do tipo Submit, que quando pressionado chamará nosso aplicativo WEB. Este aplicativo possui um só Action Item, cujo evento OnAction é: procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);Var slCookies: TStringList; sNome: String;begin sNome := Request.ContentFields.Values[ 'txt_nome' ]; slCookies := TStringList.Create; Try slCookies.Add( 'c_nome=' + sNome ); slCookies.Add( 'c_data=' + DateTimeToStr( Now ) ); Response.SetCookieField( slCookies,'','/',NOW+1,False ); Response.Content := ''+ sNome + ', O Cookie foi salvo no seu HD'+ ''; Finally slCookies.Free; End;end;A primeira coisa que fizemos foi criar uma variável ( sNome ) para armazenar o conteúdo do campo txt_nome do nosso Form HTML, passado via POST ele se encontra em ContentFields. Depois, criamos uma TStringList para armazenar nossos Cookies, e adicionamos a ela duas strings no formato nome=valor. Observe que não deve haver espaços em branco entre o nome e o valor.O que fizemos, na verdade, foi criar dois Cookies, um chamado c_nome e outro c_data. O Cookie c_nome irá armazenar o nome do usuário, informado no campo txt_nome do Form HTML, e o Cookie c_data terá o valor da data de hoje. Usando SetCookieField nós enviamos os Cookies para o micro do usuário, e encerramos com uma resposta padrão. Note que os parâmetros ADomain e APath foram passados em branco, e cabe a você, se desejar, passar com suas informações de domínio e path.Quanto ao parâmetro AExpires, ele foi passado como NOW+1, o que significa que só vale por um dia. Download dos fontes de gera_cookieshttp://www.geocities.com/SiliconValley/Lak...03/geracook.zipExemplo 07 - Ler_Cookie:Nós poderíamos ter criado, no exemplo anterior, um outro Action Item para ler os Cookies, más resolvemos criar um novo aplicativo só para isso, pois a intenção é mostrar que qualquer aplicativo WEB, dentro do nosso domínio, poderá ler estes Cookies. Este exemplo é bem mais simples. veja o evento OnAction do Action Item Default: procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);Var sNome: String; sData: String;begin sNome := Request.CookieFields.Values[ 'c_nome' ]; sData := Request.CookieFields.Values[ 'c_data' ]; // Response.Content := 'Olá ' + sNome + ', este '+ 'Cookie foi gerado em: '+ sData +'';end;A única coisa que fazemos é obter os valores dos dois Cookies, enviados pelo exemplo anterior, e mostrá-los ao usuário. Se tentarmos executar este exemplo após a validade do Cookie ter expirado, não vai haver erro, somente os valores estarão em branco. Download dos fontes de ler_cookiehttp://www.geocities.com/SiliconValley/Lak...103/lercook.zipAutenticação de Usuários:Se nosso servidor WEB possuir a opção de Basic Authentication habilitada, poderemos tornar nosso aplicativo acessível somente por pessoas cadastradas em nosso sistema. O Microsoft Personal Web Server versão 4, quando rodando em Windows 95, não permite esta configuração de segurança. A maneira correta de fazermos a verificação se uma requisição possui, ou não, os direitos de execução do nosso aplicativo seria através do uso da propriedade Authorization de TWEBRequest. Se estiver em branco, o usuário não foi autenticado pelo servidor. Neste momento poderemos retornar um StatusCode com valor de 401 de volta ao Navegador do usuário, o que fará aparecer uma janela Pop-Up pedindo o nome e a senha ao usuário. Se os dados baterem com os de algum usuário cadastrado, Authorization estará preenchida. Para resumir, só executaremos nosso aplicativo se Request.Authorization for diferente de uma string vazia.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonatas araujo Postado Junho 5, 2008 Autor Denunciar Share Postado Junho 5, 2008 {Resolvido} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jhonatas araujo
alguém poderia me dar uma breve explicação Sobre Modolo's ... /?
A questão é o seguinte:
Gostaria que Meu WebBrowser Captura-se Cookies, e Visualizar em um determinado local do mesmo...
Obs:
ex:
Igual o WebBrower = Navegador Opera ...
Poderiam me dar um simples Exemplo
já perguntei a Respeito Disso uma vez ... Mais não ficou Muito Claro ...
Vlw...
Editado por Jhonatas araujoLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.