# # Perl script to get Numly
APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

I've removed advertising from most of this site and will eventually clean up the few pages where it remains.

While not terribly expensive to maintain, this does cost me something. If I don't get enough donations to cover that expense, I will be shutting the site down in early 2020.

If you found something useful today, please consider a small donation.



Some material is very old and may be incorrect today

© January 2008 Anthony Lawrence

Perl script to get Numly

Following up on Numly tags help protect your digital content, I wrote a Perl script to fetch Numly ESN's.

I have this script create a ".numly" file in the same directory as the original page; my page display code notices if that file exists and displays it if it does.

So, for example, to create the Numly data for this page, I'd run "getesn.pl http://aplawrence.com/Programming/numly_tags.html" and that will create "/Programming/numly_tags.numly" in the appropriate place.

I didn't put a lot of error checking in here, and of course you'd need to modify it for your own particular needs.

See LWP and POST and GET for more on using Perl LWP.

#!/usr/bin/perl
# Numly esn getter
# A.P. Lawrence 2008/01/07
# POST method form
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$webdir-="/you/live/somewhere";
chdir($webdir) or exit 1;
#
$url=shift @ARGV;
chomp $url;
$myfile=$url;
$myfile=~ s/http.*aplawrence.com.//;
# you'd be trimming your domain
$numly=$myfile;
$numly=~ s/.html$/.numly/;
if (-e $numly) {
  print "$numly exists!";exit 1;
}
open(I,"$myfile");
@description=<I>;close I;
$description= join " ",@description;
foreach (@description) {
  chomp;
  last if $docname;
  # this section will probably be different for you
  if (/<h1>/) {
    s/<h1>//;
    $docname=$_;
    $docname=~ s/.*bookmark">//;
    $docname=~ s/<.*//;
  }
}
 if (not $docname) {
  print "No docname!\n";
  exit 1;
}


# ready to go get it
$ua=LWP::UserAgent->new();
my $req= POST 'http://www.numly.com/numly/generate.asp', [
username => 'pcunix',
docname => $docname,
docdesc => $description,
author => 'Anthony Lawrence',
publisher => 'Anthony Lawrence',
licensee => 'Anthony Lawrence',
licemail => 'pcunix at gmail.com',
idonly => 'True',
url => $url];
#
$result=$ua->request($req)->as_string; 
@stuff = split /\n/,$result;
$content=$stuff[$#stuff];
$ID=$content;
$FID=$ID;
$FID=~ s/(......)(......)(..)$/-$1-$2-$3/;
#
print $content; 
open(O,">$numly");
print O <<EOF;
<p><a
href="http://www.numly.com/numly/verify.asp?id=$FID"><img
alt="numly esn" src="http://numly.com/numly/icon.asp?id=$ID"
border="0" /> $FID<br /><img alt="numly barcode"
src="http://numly.com/numly/barcode.asp?code=$ID&height=20&width=1&mode=code39"
/></a><br><br> 2008 All Rights Reserved.</p>
EOF
close O;
exit 0;
 

If you found something useful today, please consider a small donation.



Got something to add? Send me email.





(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

->
-> Perl script to get Numly


Inexpensive and informative Apple related e-books:

Take Control of IOS 11

Photos for Mac: A Take Control Crash Course

Take Control of OS X Server

Take Control of Pages

Take Control of iCloud, Fifth Edition





More Articles by © Anthony Lawrence





Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us


Printer Friendly Version





If you just want to use the system, instead of hacking on its internals, you don't need source code. (Andrew S. Tanenbaum)




Linux posts

Troubleshooting posts


This post tagged:

Blogging

Code

Perl

Programming

Security



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode