Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Mail codificado (https://www.clubdelphi.com/foros/showthread.php?t=31763)

ivan022481 17-05-2006 07:07:09

Mail codificado
 
hola, ante todo, gracias por leer este hilo y mas gracias por contestarlo, el problema que se me presenta es el siguiente, tengo que obtener mails de una pagina, la idea es leer el codigo fuente, pero tengo un problema al querer tomar el mail, veran el mail me aparece en este formato:

Código:

<span class="email_address"><script type="text/javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%6e%74%61%6e%64%75%6a%61%72%35%40%68%6f%74%6d%61%69%6c%2e%63%6f%6d%3f%73%75%62%6a%65%63%74%3d%41%50%52%49%4c%49%41%25%32%30%50%45%47%41%53%4f%25%32%30%36%35%30%25%32%30%65%69%25%32%30%32%30%30%34%22%20%3e%61%6e%74%61%6e%64%75%6a%61%72%35%40%68%6f%74%6d%61%69%6c%2e%63%6f%6d%3c%2f%61%3e%27%29%3b'))</script></span>
donde, creo, creer que los caracteres que estan entre los parentesis despues de la palabra unescape son los correspondientes, ahora, ¿hay una funcion en Delphi que me permita desglozar esos caracteres?, desde ya gracias

seoane 17-05-2006 12:43:42

Antes de nada decir que me parece tremendamente sospechoso querer obtener por codigo direcciones de correo de una pagina web, me suena a spam, pero por otro lado no estoy para juzgar a nadie :)

El caso es que el texto esta codificado con el mismo algoritmo que se utiliza para codificar las url. El cual es bastante sencillo de descifrar:

Código Delphi [-]
function URLDecode(s: string): string;
var
  i: integer;
  Ch: integer;
begin
  result := '';
  i := 1;
  while i <= Length(s) do
  begin
    if copy(s, i, 1) = '%' then
    begin
      Ch := StrToIntDef('$' + copy(s, i + 1, 2), -1);
      if (Ch > 0) and (Ch < 256) then
        result := result + Char(Ch);
      inc(i, 2);
    end
    else
      result := result + copy(s, i, 1);
    inc(i);
  end;
end;

En concreto si le aplicas la funcion anterior al texto que tu indicas nos queda esto:
Código:

document.write('<a href="mailto:antandujar5@hotmail.com?subject=APRILIA%20PEGASO%20650%20ei%202004" >antandujar5@hotmail.com</a>');
A partir de ahi usalo para lo que quieras :rolleyes:

ivan022481 17-05-2006 21:16:09

muchisimas gracias, es lo que andaba buscando, no te hagas problemas que no es para hacer spam ni ninguna dañinada. saludos, y nuevamente gracias

seoane 17-05-2006 21:51:26

:D Pues me dejas mas tranquilo


La franja horaria es GMT +2. Ahora son las 05:57:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi