Einloggen und datei downloaden via http

Ich möchte ein Script erstellen, welches wenn man es ausführt dieses
file downloaded.
Mein problem ist nun, dass ich mich dazu einloggen muss.

mein script sieht noch so aus:

require LWP::UserAgent;

my $ua =3D LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;

my $response =3D
$ua->get('http://www.swisswebcams.ch/export/xml_slf/xml_slf. xml');

if ($response->is_success) {
$ua->mirror('http://www.swisswebcams.ch/export/xml_slf/xml_s lf.xml',
'xml_slf.xml');
}
else {
die $response->status_line;
}

kann mir jemand sagen, wie ich mich einloggen kann?
SLF [ Do, 19 Oktober 2006 17:06 ] [ ID #1506929 ]

Re: Einloggen und datei downloaden via http

SLF <pedrett [at] slf.ch> wrote:
> Ich m?chte ein Script erstellen, welches wenn man es ausf?hrt dieses
> file downloaded.
> Mein problem ist nun, dass ich mich dazu einloggen muss.
>
> mein script sieht noch so aus:
>
> require LWP::UserAgent;
....
>
> kann mir jemand sagen, wie ich mich einloggen kann?

Mit LWP::UserAgent::credentials kannst Du Username & Passwort setzen.

cu,
Martin
--
| Martin Vorlaender | OpenVMS rules!
UNIX is user friendly. | work: mv [at] pdv-systeme.de
It's just selective about | http://www.pdv-systeme.de/users/martinv/
who its friends are. | home: martin [at] radiogaga.harz.de
martin [ Do, 19 Oktober 2006 18:47 ] [ ID #1506931 ]

Re: Einloggen und datei downloaden via http

martin [at] radiogaga.harz.de (Martin Vorlaender) writes:

> SLF <pedrett [at] slf.ch> wrote:
> > Ich m?chte ein Script erstellen, welches wenn man es ausf?hrt dieses
> > file downloaded.
> > Mein problem ist nun, dass ich mich dazu einloggen muss.
> >
> > mein script sieht noch so aus:
> >
> > require LWP::UserAgent;
> ...
> >
> > kann mir jemand sagen, wie ich mich einloggen kann?
>
> Mit LWP::UserAgent::credentials kannst Du Username & Passwort setzen.
>

Oder man schreibt Username+Password einfach in die URL rein
(http://username:password [at] host...)

--
Slaven Rezic - slaven <at> rezic <dot> de

tkrevdiff - graphical display of diffs between revisions (RCS, CVS or SVN)
http://ptktools.sourceforge.net/#tkrevdiff
Slaven Rezic [ Fr, 20 Oktober 2006 08:49 ] [ ID #1508139 ]

Re: Einloggen und datei downloaden via http

http://username:password [at] host.ch ist mir einfach zu unsicher.
Kann man das nicht mis SSL oder so machen?
SLF [ Fr, 20 Oktober 2006 10:47 ] [ ID #1508141 ]

Re: Einloggen und datei downloaden via http

SLF wrote:
> http://username:password [at] host.ch ist mir einfach zu unsicher.
> Kann man das nicht mis SSL oder so machen?

SLL (also SHTTP) geht nur, wenn die Gegenseite es auch spricht.
Ansonsten nutze die bereits genannte Methode $ua->credentials(),
dann wird die Information wenigstens base64 kodiert.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 20 Oktober 2006 15:20 ] [ ID #1508144 ]

Re: Einloggen und datei downloaden via http

SLF wrote:
> http://username:password [at] host.ch ist mir einfach zu unsicher.
> Kann man das nicht mis SSL oder so machen?

SLL (also SHTTP) geht nur, wenn die Gegenseite es auch spricht.
Ansonsten wird die Information, egal wie Du sie angibst,
base64-verschlüsselt übertragen, also nicht im Klartext,
aber auch nicht richtig verschlüsselt.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 20 Oktober 2006 15:28 ] [ ID #1508145 ]

Re: Einloggen und datei downloaden via http

Slaven Rezic <slaven [at] rezic.de> wrote:
> martin [at] radiogaga.harz.de (Martin Vorlaender) writes:
>> SLF <pedrett [at] slf.ch> wrote:
>> > require LWP::UserAgent;
>> ...
>> > kann mir jemand sagen, wie ich mich einloggen kann?
>>
>> Mit LWP::UserAgent::credentials kannst Du Username & Passwort setzen.
>
> Oder man schreibt Username+Password einfach in die URL rein
> (http://username:password [at] host...)

Das ist aber, IIRC, im RFC explizit verboten (im Gegensatz zu FTP URLs).
Was aber nichts an der Tatsache aendert, dass alle Browser/Libraries,
die ich kenne, es trotzdem implementieren ;-)

cu,
Martin
--
| Martin Vorlaender | OpenVMS rules!
VMS is today what | work: mv [at] pdv-systeme.de
Microsoft wants | http://www.pdv-systeme.de/users/martinv/
Windows NT 8.0 to be! | home: martin [at] radiogaga.harz.de
martin [ Fr, 20 Oktober 2006 18:38 ] [ ID #1508155 ]

Re: Einloggen und datei downloaden via http

"SLF" <pedrett [at] slf.ch> writes:

> http://username:password [at] host.ch ist mir einfach zu unsicher.
> Kann man das nicht mis SSL oder so machen?

Dann schreib doch einfach https://username:password [at] host.ch

--
Slaven Rezic - slaven <at> rezic <dot> de

tknotes - A knotes clone, written in Perl/Tk.
http://ptktools.sourceforge.net/#tknotes
Slaven Rezic [ Fr, 20 Oktober 2006 20:30 ] [ ID #1508156 ]

Re: Einloggen und datei downloaden via http

martin [at] radiogaga.harz.de (Martin Vorlaender) writes:

> Slaven Rezic <slaven [at] rezic.de> wrote:
> > martin [at] radiogaga.harz.de (Martin Vorlaender) writes:
> >> SLF <pedrett [at] slf.ch> wrote:
> >> > require LWP::UserAgent;
> >> ...
> >> > kann mir jemand sagen, wie ich mich einloggen kann?
> >>
> >> Mit LWP::UserAgent::credentials kannst Du Username & Passwort setzen.
> >
> > Oder man schreibt Username+Password einfach in die URL rein
> > (http://username:password [at] host...)
>
> Das ist aber, IIRC, im RFC explizit verboten (im Gegensatz zu FTP URLs).
> Was aber nichts an der Tatsache aendert, dass alle Browser/Libraries,
> die ich kenne, es trotzdem implementieren ;-)

Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
Sicherheitsgründen. Wobei mir nicht klar ist, was der Unterschied in
punkto Sicherheit zwischen:

$ua->credentials($netloc, $realm, $uname, $pass);
$ua->get("http://$host...");

und

$ua->get("http://$uname:$pass\ [at] $host...");

ist.

Gruß,
Slaven

--
Slaven Rezic - slaven <at> rezic <dot> de
BBBike - route planner for cyclists in Berlin
WWW version: http://www.bbbike.de
Perl/Tk version for Unix and Windows: http://bbbike.sourceforge.net
Slaven Rezic [ Fr, 20 Oktober 2006 20:48 ] [ ID #1508157 ]

Re: Einloggen und datei downloaden via http

Slaven Rezic wrote:
> martin [at] radiogaga.harz.de (Martin Vorlaender) writes:
>>
>>Das ist aber, IIRC, im RFC explizit verboten (im Gegensatz zu FTP URLs).
>>Was aber nichts an der Tatsache aendert, dass alle Browser/Libraries,
>>die ich kenne, es trotzdem implementieren ;-)
>
> Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
> Sicherheitsgründen. Wobei mir nicht klar ist, was der Unterschied in
> punkto Sicherheit zwischen:
>
> $ua->credentials($netloc, $realm, $uname, $pass);
> $ua->get("http://$host...");
>
> und
>
> $ua->get("http://$uname:$pass\ [at] $host...");
>
> ist.

Gemeint ist vermutlich der Fall, wo der Anwender es ins
Location-Feld des Browsers eintippt. Aus Programmcode
heraus ist es gehupft wie gesprungen. In jedem Fall ist die
Information auf Netzwerkebene lesbar (außer bei HTTPS)
und auf dem Clientrechner für alle, die das Skript ausführen
dürfen (unter Unix).

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 20 Oktober 2006 21:14 ] [ ID #1508158 ]

Re: Einloggen und datei downloaden via http

On Oct 20, Slaven Rezic wrote:
> martin [at] radiogaga.harz.de (Martin Vorlaender) writes:
> > Slaven Rezic <slaven [at] rezic.de> wrote:
> > > martin [at] radiogaga.harz.de (Martin Vorlaender) writes:

> > > Oder man schreibt Username+Password einfach in die URL rein
> > > (http://username:password [at] host...)
> >
> > Das ist aber, IIRC, im RFC explizit verboten (im Gegensatz zu FTP URLs).
> > Was aber nichts an der Tatsache aendert, dass alle Browser/Libraries,
> > die ich kenne, es trotzdem implementieren ;-)
>
> Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
> Sicherheitsgründen. Wobei mir nicht klar ist, was der Unterschied in
> punkto Sicherheit zwischen:
>
> $ua->credentials($netloc, $realm, $uname, $pass);
> $ua->get("http://$host...");
>
> und
>
> $ua->get("http://$uname:$pass\ [at] $host...");
>
> ist.

Bei letzterem siehst du uname+pass in der Prozessliste. Für die POST
Variante musst du dir schon den traffic angucken, um mitzulesen.

gruss,
andreas
Andreas Putzo [ Fr, 20 Oktober 2006 21:32 ] [ ID #1508159 ]

Re: Einloggen und datei downloaden via http

Andreas Putzo wrote:
> On Oct 20, Slaven Rezic wrote:
>>
>> $ua->get("http://$uname:$pass\ [at] $host...");
>
> Bei letzterem siehst du uname+pass in der Prozessliste.

Unsinn. Das ist kein Programmaufruf.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 20 Oktober 2006 21:34 ] [ ID #1508160 ]

Re: Einloggen und datei downloaden via http

On Oct 20, Frank Seitz wrote:
> Andreas Putzo wrote:
> > On Oct 20, Slaven Rezic wrote:
> >>
> >> $ua->get("http://$uname:$pass\ [at] $host...");
> >
> > Bei letzterem siehst du uname+pass in der Prozessliste.
>
> Unsinn. Das ist kein Programmaufruf.

Hast du natürlich recht. Ich hatte mir irgendwie nur den zitierten RFC
Text durchgelesen und als erstes an ps gedacht.
Wenn er aber $ua->get( [at] ARGV) oder so machte, würd's wieder stimmen ;)

gruss, andreas
Andreas Putzo [ Fr, 20 Oktober 2006 21:40 ] [ ID #1508161 ]

Re: Einloggen und datei downloaden via http

Slaven Rezic <slaven [at] rezic.de> wrote:

> Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
> Sicherheitsgründen. Wobei mir nicht klar ist, was der Unterschied in
> punkto Sicherheit zwischen:
>
> $ua->credentials($netloc, $realm, $uname, $pass);
> $ua->get("http://$host...");
>
> und
>
> $ua->get("http://$uname:$pass\ [at] $host...");

Alle Logfiles welche den URL mitloggen (Proxy, Webserver)
werden dadurch zu einer Sammlung von Klartextpasswörtern.
Achim Grolms [ Fr, 20 Oktober 2006 22:52 ] [ ID #1508163 ]

Re: Einloggen und datei downloaden via http

Achim Grolms wrote:
> Slaven Rezic <slaven [at] rezic.de> wrote:
>>
>>Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
>>Sicherheitsgründen. Wobei mir nicht klar ist, was der Unterschied in
>>punkto Sicherheit zwischen:
>>
>> $ua->credentials($netloc, $realm, $uname, $pass);
>> $ua->get("http://$host...");
>>
>>und
>>
>> $ua->get("http://$uname:$pass\ [at] $host...");
>
> Alle Logfiles welche den URL mitloggen (Proxy, Webserver)
> werden dadurch zu einer Sammlung von Klartextpasswörtern.

Da irrst Du. Die Information wird vom Client via
HTTP-Header (Authorization) übermittelt.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 20 Oktober 2006 23:01 ] [ ID #1508164 ]

Re: Einloggen und datei downloaden via http

Slaven Rezic <slaven [at] rezic.de> wrote:
> martin [at] radiogaga.harz.de (Martin Vorlaender) writes:
>> Slaven Rezic <slaven [at] rezic.de> wrote:
>> > Oder man schreibt Username+Password einfach in die URL rein
>> > (http://username:password [at] host...)
>>
>> Das ist aber, IIRC, im RFC explizit verboten (im Gegensatz zu FTP URLs).
>> Was aber nichts an der Tatsache aendert, dass alle Browser/Libraries,
>> die ich kenne, es trotzdem implementieren ;-)
>
> Meinst du RFC 2396? Ich sehe nur "not recommended", wohl aus
> Sicherheitsgr?nden. Wobei mir nicht klar ist, was der Unterschied in
> punkto Sicherheit zwischen:
>
> $ua->credentials($netloc, $realm, $uname, $pass);
> $ua->get("http://$host...");
>
> und
>
> $ua->get("http://$uname:$pass\ [at] $host...");
>
> ist.

Dabei wurde wohl an die Browser-URL-History, Bookmarks, usw. gedacht.
Sonst gibt es natrlich keinen Unterschied.

cu,
Martin
--
OpenVMS: | Martin Vorlaender | OpenVMS rules!
The operating system | work: mv [at] pdv-systeme.de
God runs the | http://www.pdv-systeme.de/users/martinv/
earth simulation on. | home: martin [at] radiogaga.harz.de
martin [ Sa, 21 Oktober 2006 03:21 ] [ ID #1508861 ]
Perl » de.comp.lang.perl.misc » Einloggen und datei downloaden via http

Vorheriges Thema: Mehrdimensionaler Hash
Nächstes Thema: Codierungen austauschen innerhalb Tags