Thread LWP Webabfrage Benutzername Passwort Fehler 401 (8 answers)
Opened by lechez at 2013-04-01 11:48

lechez
 2013-04-01 11:48
#166774 #166774
User since
2013-04-01
4 Artikel
BenutzerIn
[default_avatar]
Hallo

Ich Versuche meinen WR abzufragen LWP
Ich kann mich mit dem Browser an den Wechselrichter anmelden:
http://192.168.2.10/data/ajax.txt?CAN=1&HASH=00100403&TYPE=1
Und bekomme das zurück:
104 W;101 W;112 VA;55 var;337.00;234.20;0.31;0.43;104;98;---;---;0.78 i;0.01;0.01;520.91;1463.56;132;0;0;AT 4500;1; x 00100403;01;00000001

Wäre schön mit einem Perl Programm dies abzufragen. Einfach die Werte loggen und darstellen.

Bei mir scheitert es bei der Anmeldung am WR.
Ich habe mal versucht ein Perl Programm zu schreiben:

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
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Cookies;

my $url = shift || 'http://192.168.2.10/data/ajax.txt?CAN=1&HASH=00100403&TYPE=1';

# setup your browser
my $ua = LWP::UserAgent->new(keep_alive => 1, timeout => 300);

# what kind of browser you are
$ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a)
Gecko/20021207 Phoenix/0.5");

# a place to store cookies, if needed
$ua->cookie_jar( HTTP::Cookies->new(file => "perlcookies.dat", autosave
=> 1) );

# now build a request
my $request = HTTP::Request->new( GET => $url );

# set credentials
$request->authorization_basic('BN','PW');

# run browser
my $response = $ua->request($request);

# and check response
printf $response->content();


Ich kann mit dem Programm auf fhem (auch Passwort geschützt mit htaccess) zugreifen aber nicht auf den Wechelrichter es kommt als Ausgabe:

Code (html): (dl )
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head><meta name="generator" content="HTML Tidy for Windows (vers 1st April 2002), see www.w3.org"><title>401 Unauthorized</title></head><body><script type="text/javascript">function getURL(){return document.URL();}</script><h1>Unauthorized</h1><p>Authorization for the requested URL: <b><script type="text/javascript">document.write(document.URL);</script></b> required.</p><hr><address>emBetter web server 2.0</address></body></html>


Welchen Denkfehler mache ich?
Vielleicht kann mir jemand helfen.

modedit Editiert von pq: code-tags hinzugefügt
modedit Editiert von GwenDragon: unnützen lokalen Link in inline-CODE gesetzt
Last edited: 2013-04-01 14:26:44 +0200 (CEST)

View full thread LWP Webabfrage Benutzername Passwort Fehler 401