2012-06-14 50 views
0

是否有可能通過perl腳本從一個域獲取遠程數據到另一個域?從遠程域獲取數據

我不想進入安全性討論,只是尋找獲取遠程服務器數據的工作示例。

遠程腳本:

sub GetPageData{ 

    $PageData = 'Hello World'; 
} 

本地腳本:

#!/usr/bin/perl 

print "Content-type: text/html\n\n"; 
our $PageData; 

require("http://MyDomain.com/cgi-bin/test.pl"); 
GetPageData(); 

print "$PageData"; 
+0

如果你想在服務器之間傳遞數據,然後用**數據格式**,不通過代碼。數據格式更安全,**更易於處理**。 – Quentin

回答

0

確保'our'真的是你想要的。根據我的經驗,'我們'在編寫腳本時很少使用,但在做OO perl時可以派上用場。

爲您的要求:

use LWP::UserAgent; 
use HTTP::Request; 
my $req = HTTP::Request->new(GET, $url); 
my $ua = LWP::UserAgent->new(timeout => 5); 
my $res = $ua->request($req); 
return unless $res->is_success; 
my $page_data = $res->content; 
+0

問題似乎在問如何從遠程服務器導入代碼,然後執行它來填充變量。 – Quentin

+0

是真的,「遠程服務器數據」可能意味着很多東西。但在沒有安全討論的情況下GET是我們的朋友。 :) – shinronin

+0

該問題中有示例代碼,顯示了嘗試從HTTP URI導入原始Perl。 – Quentin