在 Perl 中从另一个 HTTP 资源流式传输的最简单方法是什么(无需打开 shell 来 curl 和读取标准输入)?我在这里假设我正在读取的 HTTP 资源是一个潜在的无限流(或者只是非常非常长)
最佳答案
良好的旧 LWP 允许您将结果作为流处理。
例如,这里是对 yourFunc 的回调,将 byte_count 字节读取/传递给对 yourFunc 的每次调用(如果您不关心每次调用的数据有多大,并且只想将流处理为尽可能快):
use LWP;
...
$browser = LWP::UserAgent->new();
$response = $browser->get($url,
':content_cb' => \&yourFunc,
':read_size_hint' => byte_count,);
...
sub yourFunc {
my($data, $response) = @_;
# do your magic with $data
# $respose will be a response object created once/if get() returns
}
关于perl - 在纯 Perl 中从另一个 HTTP 资源流式传输的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567895/