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;
}