Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Download favicon and convert to base64 HTML link data tag

by usemodperl (Beadle)
on Jul 03, 2018 at 16:33 UTC ( [id://1217831]=CUFP: print w/replies, xml ) Need Help??

One-liner fetches favicon from the network, converts it to base64, and prints an HTML link tag with favicon data URL. Use with discretion, favicons may be legally possessed. It's great fun to jazz local scripts and documents.

Single line data and output:
perl -MHTTP::Tiny -MMIME::Base64 -e 'print qq~<link href="data:image/x +-icon;base64,~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{conten +t},""), qq~" rel="icon" type="image/x-icon">~||die"something went wro +ng"' https://perlmonks.org/favicon.ico
Multi-line data and output:
perl -MHTTP::Tiny -MMIME::Base64 -e 'print qq~<link href="data:image/x +-icon;base64,\n~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{cont +ent},"\n"), qq~" rel="icon" type="image/x-icon">\n~||die"something w +ent wrong"' https://www.perl.com/favicon.ico
Single line data and output as a script:
#!/usr/bin/perl use strict; use warnings; use HTTP::Tiny; use MIME::Base64; push @ARGV, "https://perlmonks.org/favicon.ico" unless @ARGV; print qq~<link href="data:image/x-icon;base64,~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{content},""), qq~" rel="icon" type="image/x-icon">~ || die "something went wrong"; =head1 DESCRIPTION Perl one-liner/script fetches favicon from the network, converts it to base64, and prints an HTML link tag with favicon data URL. Use with discretion, favicons may be legally possessed. It's great fun to jazz local scripts and documents. =head1 VERSION Single line data and output version. =head1 ONE-LINER perl -MHTTP::Tiny -MMIME::Base64 -e 'print qq~<link href="data:image +/x-icon;base64,~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{cont +ent},""), qq~" rel="icon" type="image/x-icon">~||die"something went w +rong"' https://perlmonks.org/favicon.ico =head1 CAVEAT Verify the url and the link because this encodes anything, including e +rrors. =head1 AUTHOR =over =item usemodperl L<https://perlmonks.org/?node_id=1216830> =back =cut
Multi-line data and output as a script:
#!/usr/bin/perl use strict; use warnings; use HTTP::Tiny; use MIME::Base64; push @ARGV, "https://www.perl.com/favicon.ico" unless @ARGV; print qq~<link href="data:image/x-icon;base64,\n~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{content},"\n"), qq~" rel="icon" type="image/x-icon">\n~ || die "something went wrong"; =head1 DESCRIPTION Perl one-liner/script fetches favicon from the network, converts it to base64, and prints an HTML link tag with favicon data URL. Use with discretion, favicons may be legally possessed. It's great fun to jazz local scripts and documents. =head1 VERSION Multi-line data and output version. =head1 ONE-LINER perl -MHTTP::Tiny -MMIME::Base64 -e 'print qq~<link href="data:image +/x-icon;base64,\n~, encode_base64(HTTP::Tiny->new->get($ARGV[0])->{co +ntent},"\n"), qq~" rel="icon" type="image/x-icon">\n~||die"something + went wrong"' https://www.perl.com/favicon.ico =head1 CAVEAT Verify the url and the link because this encodes anything, including e +rrors. =head1 AUTHOR =over =item usemodperl L<https://perlmonks.org/?node_id=1216830> =back =cut
STOP REINVENTING WHEELS, START BUILDING SPACE ROCKETS!CPAN 🐪

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://1217831]
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2024-04-19 12:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found