0

Perl を使用して、構築した Web サービスから情報 (プレーン テキスト) を要求しています。ブラウザでアクセスすると、ちゃんと情報が表示されます。ただし、Perl を使用して応答を処理するのは初めてです。私はいくつかのデータベース操作を正常に実行しましたが、問題は PHP ではなく Perl で応答を処理することです。

応答を正常に処理して Perl で同じプレーン テキストを出力するには、応答をエンコードまたはフォーマットする必要があります。

編集:

考慮すべき重要なポイント

  • 私は CakePHP 2.x (安定版) を使用しています。
  • $response->contentは、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";
?>

パールコード:

#!/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;
}
4

1 に答える 1

1

を確認した後$response->is_success、の戻り値を取得できるはずです

$response->decoded_content

適切と思われる方法で処理します。

于 2012-09-13T16:49:49.960 に答える