dongxiee0744 2015-02-26 07:41
浏览 58

在Perl中创建会话并在PHP中读取会话变量

I have a Perl script that tries to make a post request to a PHP server. Used LWP::UserAgent for post request and CGI::Session to handle sessions.

Right now, no big issue on post, but after set session variable: username in Perl, I could not get value from $_SESSION['username']. Tried using PHP::Session, no luck neither.

Perl:

use strict;
use warnings;

use CGI;
use CGI::Session;
use LWP::UserAgent;

my $cgi = CGI->new();
my $session = CGI::Session->new( 'serializer:php' );
$session->param('username', 'dev');
print "::Perl session id::" . $session->id() . "::
";

my $browser = LWP::UserAgent->new;
my $url = 'http://localhost/test.php';
my $response = $browser->post( $url,
  [ 
    'date' => '2015-02-25'
  ]
);

die "$url error: ", $response->status_line
 unless $response->is_success;

my $file_data = $response->content();
print $file_data;

Php:

<?php
session_start();
echo "::PHP session id::" . session_id() . "::
";
echo "::" . $_POST['date'] . "::
";
echo "::" . $_SESSION['username'] . "::
";    
?>

By executing Perl script, I get output:

::Perl session id::737ba07ad1a2ced0be07cd303cf08afe::
::PHP session id::ri60ivtb32lglcrqv4ug1sb2i5::
::2015-02-25::
::::

$_SESSION['username'] is not retrieved correctly. And session ids are different.

  • 写回答

1条回答 默认 最新

  • dongsuichi6529 2015-03-18 07:50
    关注

    I did not find an ideal module for Perl to handle SFTP/FTP on windows. Instead, get some luck using Win32::OLE->new('WinSCP.Session').

    Usage: http://winscp.net/eng/docs/library_perl

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办