如何格式化Perl读取的Web服务响应?

时间:2012-09-13 16:45:17

标签: php web-services perl httpresponse

我正在使用Perl从我构建的Web服务请求一些信息(纯文本)。使用浏览器访问时,信息显示完美。但是,我是新手来处理使用Perl的响应。我成功完成了一些数据库操作,我的问题是在Perl中处理响应,而不是PHP。

如何对响应进行编码或格式化以便成功处理它并在Perl中输出相同的纯文本?

编辑:

需要考虑的要点

  • 我正在使用CakePHP 2.x(稳定版)。
  • $ response->内容 带来整个HTML文件(包括JavaScript和整个包)。我只想在Perl脚本中显示纯文本。
  • 检查 * $ response-> is_success * 时,Perl脚本失败并直接进入 打印“出错”;

我的php脚本运行良好

PHP代码:

<?php
$this->layout = 'ajax';
$this->autoRender = false;
// Some database handling here with no problem...
echo "Plain text with info from database";
?>

Perl代码:

#!/usr/local/bin/perl
require LWP::UserAgent;
require HTTP::Request;
my $request = HTTP::Request->new(GET => $url);
my $userAgent = LWP::UserAgent->new;
$userAgent->timeout(3);
$userAgent->env_proxy;
my $response = $userAgent->request($request);
if ($response->is_success) {
    print "Success!\n";
    #should print plain text AS IS
}
else {
    print "something went wrong...\n";
    die $response->status_line;
}

1 个答案:

答案 0 :(得分:1)

检查$response->is_success后,您应该只能获取

的返回值
$response->decoded_content

并按照您认为合适的方式处理它。