我正试图从Facebook帖子中提取图片。图片网址包含.jpg扩展名后的一些十六进制字符串。
我已经尝试过LWP :: Simple和WWW :: Mechanize但没有成功(错误501)。相同的代码适用于通常的* .jpg地址。
E.g。对于LWP ::简单。此代码有效:
use LWP::Simple;
my $url = "http://sunsetvalleyorchids.com/images/orchid_images/Pot.%20William%20Farrell%20'Native%20Son'-150611.jpg";
my $file = "test.jpg";
getstore($url,$file);
此代码不起作用:
use LWP::Simple;
my $url =
https://scontent-iad3-1.xx.fbcdn.net/hphotos-xat1/v/t1.0-9/10670008_723959424306956_2403014210464990193_n.jpg?oh=bffe04b5a6e8c61381dbb85027e62a10&oe=5764ABCD
my $file = "test.jpg";
getstore($url,$file);
答案 0 :(得分:0)
我认为这应该有用
get_b()
答案 1 :(得分:0)
使用LWP::Simple
使得调试底层响应变得非常困难。为什么不选择LWP::UserAgent
?
use strict;
use warnings;
use LWP::UserAgent;
use Path::Tiny qw( path );
my $url
= 'https://scontent-iad3-1.xx.fbcdn.net/hphotos-xat1/v/t1.0-9/10670008_723959424306956_2403014210464990193_n.jpg?oh=bffe04b5a6e8c61381dbb85027e62a10&oe=5764ABCD';
my $file = 'test.jpg';
my $ua = LWP::UserAgent->new;
my $response = $ua->get( $url );
die 'Could not get file' if !$response->is_success || $response->header('X-Died');
path( $file )->spew( $response->content );