• Publicidad

Redirector para squid

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Redirector para squid

Notapor explorer » 2009-08-06 09:36 @442

Más que una sustitución, puedes también buscar precisamente lo que quieres usar. (no probado)
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
%hay_que_bloquear      = map {
                          $_ =~ m/^([0-9.]+)/;
                          $_ => $1
                          }
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4
JF^D Perl Programming Language
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 12845
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Redirector para squid

Notapor felipechire » 2013-04-14 11:51 @536

Saludos, sé que este es un mensaje viejo. Pero me he visto en la necesidad de solicitar apoyo en cuanto a este sistema el cual me ha servido mucho.

Resulta que al redireccionar páginas funciona a la perfección siempre y cuando la página a redireccionar este escrita así:

http://www.redtube.com 302:http://www.google.co.ve

pero no funciona cuando lo colocamos de esta forma:

http://go.microsoft.com/fwlink/?LinkId=69157 302:http://www.google.co.ve

He estado revisando el código y más o menos pienso que la solución está en esta parte:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. ## URL a redireccionar
  2. %hay_que_redireccionar = map {
  3.                               my ($c,$v) = split;     # Cada línea tiene dos columnas: la URL que buscamos y la nueva URL
  4.                               chomp $c;
  5.                               $c = $c . '/';          # Suponemos que las URL NO tienen la '/' final, así que se las ponemos
  6.                               $c =~ s/.png\//.png/g;
  7.                               $c =~ s/.dll\//.dll/g;
  8.                               $c =~ s/.jpg\//.jpg/g;
  9.                               $c =~ s/.jpeg\//.jpeg/g;
  10.                               $c =~ s/.gif\//.gif/g;
  11.                               $c =~ s/.bmp\//.bmp/g;
  12.                               $c =~ s/.mp3\//.mp3/g;
  13.                               $c =~ s/.flv\//.flv/g;
  14.                               $c =~ s/.js\//.js/g;
  15.                               $c =~ s/.swf\//.swf/g;
  16.                               $c =~ s/.css\//.css/g;
  17.                               $c => $v
  18.                          }
  19.                           split $/, slurp '/etc/brazilfw/redirector/redireccionadas.txt';
  20.  
  21.  
Coloreado en 0.009 segundos, usando GeSHi 1.0.8.4

Pero mi conocimiento en Perl es casi nulo.

¿Alguien me podría ayudar?
felipechire
Perlero Nuevo
Perlero Nuevo
 
Mensajes: 1
Registrado: 2013-04-14 11:40 @527

Re: Redirector para squid

Notapor explorer » 2013-06-19 12:39 @569

Bienvenido a los foros de Perl en Español, felipechire.

El problema está, creo, en que las líneas añaden un '/' al final de la URL (línea 5), para luego quitárselo (líneas 6 a 16) en caso de que el recurso solicitado por la URL sea uno de esos. Y el caso es que la URL que muestras ahora termina con una query (?), no con un recurso estático.

Quizás se pueda solventar así (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. ## URL a redireccionar
  2. %hay_que_redireccionar = map {
  3.         my ($c,$v) = split;             # Cada línea tiene dos columnas: la URL que buscamos y la nueva URL
  4.         if ($c !~ m{
  5.                      [?]|                                               # Si el URL no contiene una query
  6.                      (?:
  7.                         [.](?:
  8.                            css|js|jpe?g|gif|png|swf|mp3|bmp|flv|dll     # y no es un recurso conocido
  9.                         )|
  10.                         [/]                                             # y no termina en '/'...
  11.                      )
  12.                      $
  13.          }x) {
  14.             $c .= '/';                  # se lo ponemos
  15.         }
  16.         $c => $v
  17.     }
  18.     split $/, slurp '/etc/brazilfw/redirector/redireccionadas.txt'
  19.     ;
Coloreado en 0.007 segundos, usando GeSHi 1.0.8.4

Seguro que hay mejores formas...
JF^D Perl Programming Language
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 12845
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados