Я новичок в Perl, у меня есть скрипт, который получает все данные на моем linux-сервере, обрабатывает данные и формирует их в строку json.
Вопрос в том:
Как я могу получить эти данные в моем php-коде в другом домене. Я понятия не имею в этом подходе, сказал мой наставник, чтобы публиковать данные из Perl в PHP, в которых я не знаю, как.
Пожалуйста, порекомендуйте. : D
Чтобы отправить данные на сервер, вы можете использовать libwww
, библиотека модулей для общения через Интернет. Лучшее место для начала, вероятно, LWP Cookbook, в котором есть некоторые часто используемые рецепты. Ваш сценарий, отправляющий данные JSON в php-скрипт, может быть решен путем создания запроса с использованием HTTP::Request
и отправив его с помощью LWP::UserAgent
:
use strict;
use warnings;
use feature ':5.10';
use LWP::UserAgent;
use JSON;
# gather your data
my $data = prepare_data();
# Create a POST request with the URL you want your data going to
my $req = HTTP::Request->new(POST => "http://api.example.com/");
# set the content type as JSON
$req->content_type('application/json');
# encode the json, add it to the request
$req->content( encode_json $data );
# print out the request object as text
say $req->as_string;
# Create a user agent object
my $ua = LWP::UserAgent->new;
# send the request using LWP::UserAgent's request method
my $response = $ua->request($req);
# see what the response was
# LWP::UA has a handy is_success method for checking this
if (! $response->is_success) {
die "LWP request failed! " . $response->status_line;
}
# print the whole response
say $response->as_string;
# get the contents of the response
my $content = $response->decoded_content;
Это должно дать вам начало, и документы для модулей, которые я упомянул, содержат больше деталей.
Других решений пока нет …