サーバー上で異なるタスクを実行する 2 つのスクリプトがあります。1 つは Perl (.cgi) で記述され、もう 1 つは PHP で記述されています。
次のようなことを行って、perl CGI スクリプトからリクエストを送信しようとしています。
$ua = LWP::UserAgent->new;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->timeout(30);
$queryStr = (xxxMaskedxxx);
$request = HTTP::Request->new('GET', $queryStr);
$response = $ua->request($request);
if ($response->is_success)
{
$search = strpos($res->content, "not");
if($search==true)
{ return -1; }
}
PHP から結果を送り返す 2 つの方法を試しました。
これ:
HttpResponse::setCache(true);
HttpResponse::setContentType('text/html');
if (!$result)
HttpResponse::setData("<html>Message not delivered</html>");
else
HttpResponse::setData("<html>Message successfully delivered</html>");
HttpResponse::send();
この:
echo "Content-type: text/html\n\n";
if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;
しかし$response->is_success
、どちらの場合も false を返しますか? 応答を印刷しようとすると、次のようになります。
応答は HTTP::Response=HASH(0x97a8b34) です
私は何を間違えましたか?
また、2 つのスクリプトが並んでいます。それらの間で通信するためのより良い方法はありますか?