Thread LWP::UserAgent und 401 Unauthorized (45 answers)
Opened by bianca at 2013-06-12 21:07

bianca
 2013-06-12 21:07
#168119 #168119
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Hallo!
Folgendes Script scheitert mit Fehler "401 Unauthorized". Im Browser funktioniert die Seite jedoch korrekt mit Benutzername und Passwort.
Was mache ich falsch?
Am Benutzernamen und Passwort kann es nicht liegen. Wenn ich die aus dem Script in die Eingabefelder im Browser kopiere bin ich drin.
Kann also definitiv kein Schreib-/Tipp-/Kopierfehler von Benutzer und Passwort sein.
Woran könnte das noch liegen?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl
require 5.010_001;
use strict;
use warnings;
use Data::Dumper;
use JSON;
use LWP::UserAgent 6.03;
my $inhalt;
my $url = 'https://dev.sepatools.eu/supported_banks.json';
my $ua = LWP::UserAgent->new();
$ua->ssl_opts(verify_hostname => 0);
my $req = HTTP::Request->new('GET',$url);
my $response = $ua->simple_request($req);
if($response->code == 401 && $response->header('WWW-Authenticate') =~ m/realm="([^"]+)"/) {
    my $realm = $1;
    $ua->credentials($realm,'Test','username_hier_anonym','passwort_hier_anonym');
    $response = $ua->get($url);
    if ($response->is_success) {
        my $content = $response->content;
        my $ref = JSON->new->utf8->decode($content);
        $inhalt = 'Ergebnis mit Realm "$realm":<br><pre>'.Dumper($ref).'</pre>';
    }
    else {
        $inhalt = 'Fehler: "'.($response->status_line).'"';
    }
}
else {
    $inhalt = 'Die Seite reagiert unerwartet, die Authentifikationsanforderung kommt nicht.';
}
print $inhalt;
10 print "Hallo"
20 goto 10

View full thread LWP::UserAgent und 401 Unauthorized