2
我有一個工具,它生成一些數據並將其輸出到stdout。 在我的Perl腳本中,我需要啓動這個工具,並使用Post請求將生成的數據發送到http服務器。該工具會生成大量數據,並且將其保存在磁盤上可能非常耗時並且只能發送它。所以我真的想發送它,讓我們說重定向標準輸出到http post請求。 內容長度不應該是一個大問題,因爲我知道數據大小。HTTP Post。 Perl中管道/文件句柄的內容體
我已經嘗試過使用回調:
my @chunk = qw(foo bar baz);
my $req = HTTP::Request::StreamingUpload->new(
PUT => 'http://example.com/foo.cgi',
callback => sub { shift @chunk },
headers => HTTP::Headers->new(
'Content-Type' => 'text/plain',#and multipart/form-data
'Content-Length' => 9,
),
);
my $res = LWP::UserAgent->new->request($req);
,並從FH閱讀:
open my $fh, '<', '/your/upload/requestbody' or die $!;
my $req = HTTP::Request::StreamingUpload->new(
PUT => 'http://example.com/foo.cgi',
fh => $fh,
headers => HTTP::Headers->new(
'Content-Length' => 9,
),
);
my $res = LWP::UserAgent->new->request($req);
但由於某些原因,它不工作對我來說,我收到錯誤500 還我知道服務器支持multipart/form-data
有什麼例子嗎?有沒有其他方法可以將stdout重定向到我的http post請求?
錯誤500意味着您發佈的URL不起作用 - Web服務器日誌中有哪些錯誤? –
我沒有服務器日誌。 – Bobby