Veröffentlicht 8. Oktober 200717 j Hallo, ich hoffe ich bin hier richtig da es sich wohl mehr um ein Konfigurationsproblem als denn ein Programmierprolem handelt. Wir haben einen Sharepoint 2007 Server. Auf diesen möchte ich gern mittels Perl und WebDAV zugreifen. Dazu wollte ich HTTP::DAV verwenden, bei allen Anmeldeversuchen bekomme ich aber die Meldung zurück, das ich nicht authentifiziert werden könne (401). Da die Anmeldung mit dem selben Benutzer aber über den Browser via NTML funktioniert, habe ich versucht mich mittels LWP::Authen::Ntlm anzumelden, was aber zum selben Fehlercode führt. Leider habe ich keine Möglichkeit die Module an einem anderen Server zu testen. Muss bei Sharepoint oder dem IIS etwas konfiguriert werden, damit der Zugriff via WebDAV möglich ist? Nachtrag 1: Der Rechner von dem aus zugegriffen werden soll ist eine Linux Suse. Nachtrag 2: Es ist ein Sharepoint Server 2007, nicht 2003... sorry. Vielen Dank und viele Grüße
9. Oktober 200717 j Autor *grübel* Mit einem curl -o test.doc --ntlm -k -u DOMAIN/user:Password http://servername.tld/test.doc % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1942 100 1942 0 0 418k 0 --:--:-- --:--:-- --:--:-- 418k kann ich tatsächlich schnell und problemlos das Dokument runterladen. Liegts doch nicht an der Config sondern an mir oder den von mir verwendeten Modulen? Irgendwer ne Idee? Dank und Gruß
10. Oktober 200717 j Autor War doch meine Schuld, wer keine Doku lesen kann darf sich nicht wundern Ein Kollege von mir hats rausbekommen: new(USERAGENT) Creates a new HTTP::DAV client $d = HTTP::DAV->new() The -useragent parameter expects an HTTP::DAV::UserAgent object. See the dave program for an advanced example of a custom UserAgent that interactively prompts the user for their username and password. Quelle: HTTP::DAV - A WebDAV client library for Perl5 - search.cpan.org Wenn man so ein Objekt also erzeugt und übergibt funktioniert der Zugriff auf Sharepoint: $Main::AGENT=HTTP::DAV::UserAgent->new(keep_alive=>1); $Main::AGENT->agent('Agent'); $Main::AGENT->timeout(1000); $d = HTTP::DAV->new(-useragent => $Main::AGENT); ... Vielleicht passt dieser (gelöste) Thread nun doch besser in die Programmierecke Vielen Dank und viele Grüße
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.