• Publicidad

Pasar variable de un script Perl a un archivo PHP

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Pasar variable de un script Perl a un archivo PHP

Notapor soporteigwifi » 2012-03-27 09:34 @440

Hola. Quisiera saber cómo hacer para pasar una variable de un script.pl a un archivo.php, por método post (oculto). El script.pl es ejecutado por comandos en la consola de la siguiente forma: perl script.pl, y de ahí quiero mandar datos de una variable a un PHP.

Gracias.
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Publicidad

Re: Pasar variable de un script Perl a un archivo PHP

Notapor explorer » 2012-03-27 09:51 @452

Pero... el llamado POST no es al PHP, sino al formulario HTML generado por la ejecución del PHP, ¿no?.

En ese caso, puedes hacerlo de muchas maneras. Por ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.          use LWP::UserAgent;
  2.          $ua = LWP::UserAgent->new;
  3.  
  4.          my $req = HTTP::Request->new(
  5.              POST => 'http://rt.cpan.org/Public/Dist/Display.html');
  6.          $req->content_type('application/x-www-form-urlencoded');
  7.          $req->content('Status=Active&Name=libwww-perl');
  8.  
  9.          my $res = $ua->request($req);
  10.          print $res->as_string;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

o por ejemplo
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.          use HTTP::Request::Common qw(POST);
  2.          use LWP::UserAgent;
  3.          $ua = LWP::UserAgent->new;
  4.  
  5.          my $req = POST 'http://rt.cpan.org/Public/Dist/Display.html',
  6.                        [ Status => 'Active', Name => 'libwww-perl' ];
  7.  
  8.          print $ua->request($req)->as_string;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Los dos ejemplos están sacados de la página de manual de lwpcook, pero hay dos docenas de formas distintas para hacerlo. De forma más moderna, con Mojolicious (Mojo::UserAgent):

my $tx = $ua->post_form('http://servidor/archivo.php' => {variable => 123});
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar variable de un script Perl a un archivo PHP

Notapor soporteigwifi » 2012-03-27 16:15 @718

La idea es la siguiente (tal vez no me expresé bien): dentro del script.pl estoy pasando la variable de esta forma al PHP: http://midominio.com.ar/archivo.php?pag=$var. ($var es una variable de Perl, que la estoy pasando por URL (method get) al archivo.php.

Esto anda perfecto, pero lo que quería hacer es pasar eso pero que no se vea en la URL ¿me explico? Es decir, pasarlo de forma oculta como el method post de PHP.

Gracias.
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Re: Pasar variable de un script Perl a un archivo PHP

Notapor explorer » 2012-03-27 17:19 @763

Sí, te he entendido.

Y la respuesta es justo la que te he puesto: hacer una petición POST.

Fíjate en el primer código:
  • En las líneas 1 y 2 creamos un objeto LWP::UserAgent
  • En la 4 y 5, creamos un objeto HTTP::Request en donde indicamos que vamos a hacer una petición POST, a una determinada dirección, que es la correspondiente al action del formulario. Esto creará una petición HTTP con una serie de cabeceras estándares
  • En la 6 indicamos en la cabecera, además, que la petición es del tipo 'application/x-www-form-urlencoded', que es la forma estándar de codificar el paso de claves/valores desde el formulario al action
  • En la 7 es donde agregamos, en el contenido del mensaje, las claves/valores que queremos que el action procese
  • En la 9 es donde mandamos la petición
  • Y en la 10, recibimos la respuesta que, en este caso, sacamos como cadena de caracteres.
El segundo y tercer código es lo mismo, pero más abreviado, al usar otro módulo distinto.

Los parámetros no se ven por ningún lado, pues se trasmiten por los canales estándares (entrada y salida), y no por el URL.

En tu caso, tu action es http://midominio.com.ar/archivo.php.

No sé si habrá quedado claro... :(
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar variable de un script Perl a un archivo PHP

Notapor soporteigwifi » 2012-03-27 19:23 @849

Estuve probando pero no pude dar en la tecla, te muestro cómo lo tengo hecho y andando por método GET. Te comento que este script.pl se ejecuta en el squid.conf mediante url_rewrite_program

script.pl

while (<>) {
my ($url) = split;
my $URA = "http://midominio/?pag=$url";
$url = "302:$URA";
print "$url\n";
}

y en index.php tengo

<?
echo $_GET["pag"];
?>

La idea es recibir la variable $url por método POST de esta forma

<?
echo $_POST["pag"];
?>
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Re: Pasar variable de un script Perl a un archivo PHP

Notapor explorer » 2012-03-28 10:28 @477

Pues solo tienes que modificar el primer o segundo ejemplo, con la URL que quieres usar. Y luego poner el parámetro que quieres pasar...

¿Lo has probado?

P.D. quizás este foro de Intermedio no es el correcto.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar variable de un script Perl a un archivo PHP

Notapor soporteigwifi » 2012-03-28 15:58 @707

Sí, probé, pero no me funciona. Algo seguro estoy haciendo mal.

Gracias, igual voy a seguir probando.
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878

Re: Pasar variable de un script Perl a un archivo PHP

Notapor explorer » 2012-03-28 16:02 @709

Publica el código y así vemos qué puede estar mal...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar variable de un script Perl a un archivo PHP

Notapor soporteigwifi » 2012-03-28 19:37 @859

Mira, por ahora encripté usando MIME::Base64.

Gracias
soporteigwifi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2012-03-22 20:04 @878


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 1 invitado

cron