Я в недоумении, как заставить нижеприведенное работать, и у меня закончились идеи. Я успешно использовал эту настройку раньше, но с JS-скриптом между двумя скриптами, и в настоящее время я не могу использовать эту реализацию.
Первый сценарий используется для сбора данных от пользователя с помощью сценария perl, и он должен отправлять данные в параметр CGI второго сценария, но он либо не передает значения, либо они пусты. Я получаю HTTP-ответ 200, так что это не проблема с выполнением второго скрипта.
Скрипт 1:
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $server_endpoint = "http://urlthatisaccessable.tld/script.pl";
# set custom HTTP request header fields
my $req = HTTP::Request->new(POST => $server_endpoint);
$req->header('content-type' => 'application/json');
# add POST data to HTTP request body
my $post_data = '{ "name": "Dan" }';
$req->content($post_data);
my $resp = $ua->request($req);
if ($resp->is_success) {
my $message = $resp->decoded_content;
print "Received reply: $message\n";
}
else {
print "HTTP POST error code: ", $resp->code, "\n";
print "HTTP POST error message: ", $resp->message, "\n";
}
Скрипт 2:
#!/usr/bin/perl
# Title Processor.pl
use CGI;
my $cgi = CGI->new;
my $local = $cgi->param("name");
print $cgi->header(-type => "application/json", -charset => "utf-8");
print "$local was received";
Выход:
#perl stager.pl
Received reply: was received
Итак, 200 получено, а переменная $local пуста. Я распечатал его в файл журнала, и была вставлена пустая строка.
Заранее спасибо за помощь в этом.
HTTP::Request::Common qw( POST )
, так как это кажется лучше подходящим для моих нужд. Спасибо еще раз за помощь 27.10.2013