Changeset 32950


Ignore:
Timestamp:
2019-04-01T16:48:53+13:00 (3 years ago)
Author:
davidb
Message:

Some additional features added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/is-sheet-music-encore/trunk/dapiclient2.pl

    r32931 r32950  
    4848use OAuth::Lite::AuthMethod;
    4949
     50# read_file()
     51# Derived from:
     52#   https://stackoverflow.com/questions/953707/in-perl-how-can-i-read-an-entire-file-into-a-string
     53sub read_file
     54{
     55    my ($file) = @_;
     56 
     57    my $text = do {
     58    local $/ = undef;
     59    open my $fh, "<", $file
     60        || die "could not open $file: $!";
     61    <$fh>;
     62    };
     63
     64    chomp($text);
     65    return $text;
     66}
     67
     68my $DEBUG=1;
     69my $WEB_DISPLAY=0;
    5070
    5171my $access_key = 'OAUTH_CONSUMER_KEY';    # replace with your access_key
    5272my $secret_key = 'OAUTH_CONSUMER_SECRET'; # replace with your secret_key
    5373my $ip_address = 'MY_IP_ADDRESS';         # replace with the IP address of your workstation or server
     74
     75if (-f "my_access_key.txt") {
     76    $access_key = read_file("my_access_key.txt");
     77}
     78
     79if (-f "my_secret_key.txt") {
     80    $secret_key = read_file("my_secret_key.txt");
     81}
     82
     83if (-f "my_ip_address.txt") {
     84    $ip_address = read_file("my_ip_address.txt");
     85}
    5486   
    55 my $request_url = 'https://babel.hathitrust.org/cgi/htd/volume/pageimage/mdp.39015000000128/1';
     87my $base_request_url = "https://babel.hathitrust.org/cgi/htd/volume/pageimage/";
     88
     89#my $request_url = $base_request_url."mdp.39015000000128/1";
     90my $request_url = $base_request_url."mdp.39015070661841/1";
     91
    5692   
    5793my $consumer = OAuth::Lite::Consumer->new
     
    6197   auth_method     => OAuth::Lite::AuthMethod::URL_QUERY,
    6298  );
     99
     100if ($DEBUG) {
     101    my $params = $consumer->gen_auth_params('GET', $request_url);
     102    print STDERR "(Info) Resolved URL for retrieval:\n";
     103    print STDERR "$request_url?v=2&";
     104    print STDERR "oauth_consumer_key=$params->{'oauth_consumer_key'}&";
     105    print STDERR "oauth_timestamp=$params->{'oauth_timestamp'}&";
     106    print STDERR "oauth_nonce=$params->{'oauth_nonce'}&";
     107    print STDERR "oauth_signature_method=$params->{'oauth_signature_method'}&";
     108    print STDERR "oauth_signature=$params->{'oauth_signature'}&";
     109    print STDERR "oauth_version=$params->{'oauth_version'}\n";
     110}
    63111
    64112my $response = $consumer->request
     
    80128}
    81129
    82 print CGI::header(
    83                   Content_type => $content_type,
    84                   Status => $response->status_line,
    85                  );
     130if ($WEB_DISPLAY) {
     131    print CGI::header(
     132                      Content_type => $content_type,
     133                      Status => $response->status_line,
     134                     );
    86135
    87 unless ($success) {
    88     print "<p><b>Error: " . $response->content . "</b><br/>";
     136    unless ($success) {
     137        print "<p><b>Error: " . $response->content . "</b><br/>";
     138    }
     139    else {
     140        print $response->content;
     141    }
    89142}
    90143else {
    91144    print $response->content;
    92145}
    93 
    94146exit $success;
    95147
Note: See TracChangeset for help on using the changeset viewer.