Thread Abruf von https://yt-dl.org scheitert (19 answers)
Opened by bianca at 2021-07-04 10:15

haj
 2021-07-05 13:30
#193402 #193402
User since
2015-01-07
527 Artikel
BenutzerIn

user image
2021-07-05T08:49:06 bianca
2021-07-04T12:36:06 haj
Die kritische Zeile in Deiner Ausgabe ist die:
Code: (dl )
DEBUG: .../lib/Net/HTTPS.pm:67: local error: IO::Socket::IP configuration failed
Und was kann ich dagegen tun? In der Doku finde ich mit der Suche keine Stelle wo beschrieben wird wo die liegen muss, wie die heißen muss und was drin stehen muss.
Das ist tief in den Innereien von IO::Socket. Wenn Du das genau lokalisieren willst, musst Du wohl durchtracen. Genaueres kann ich nicht sagen, weil der Fehler bei mir ja nicht auftritt. Ein IPV4/IPV6-Problem, wie vom Linuxer genannt, kann auch dahinterstecken.

2021-07-05T08:49:06 bianca
2021-07-04T12:36:06 haj
Eine mögliche Ursache wäre eine nicht ganz aktuelle OpenSSL-Version.
...
Wie kann ich nochmal ganz sicherstellen, dass Perl die neue Version bei der Scriptausführung hernimmt? Also ob die in Perl mitgelieferte alte oder die in C:\OpenSSL-Win64 liegende neue Version?

Das kannst Du am einfachsten sicherstellen, indem Du eine aktuelle Perl-Version verwendest. Perl verwendet ja nicht die OpenSSL-Kommandozeile, sondern die Biblotheken (DLLs) und verwaltet den Pfad dahin selbst, das hat mit der PATH-Umgebungsvariable nichts zu tun. Wenn Du da isoliert OpenSSL hochrüsten willst, dann musst Du mindestens alle Perl-Module, die OpenSSL verwenden, neu mit den richtigen Headern übersetzen, allen voran CPAN:Net::SSLeay. Mir wäre das zu fragil.

Da fällt mir ein: Windows sucht auch unter den PATH-Verzeichnissen nach DLLs. Dass das hier ein Problem ist, kann man aber wohl ausschließen, wenn die Verbindung zu Google funktioniert.

Einengen kannst Du das ganze, indem Du einen simplen SSL-Client in Perl baust (Die Doku zu CPAN:IO::Socket::SSL enthält ein Beispiel) oder mit der OpenSSL-Kommandozeile eine Verbindung aufbaust. Ich glaube, das Beispiel hatten wir vor kurzem:
Code: (dl )
openssl s_client -connect yt-dl.org 443

Wenn der Verbindungsaufbau klappt, bekommst Du einen Wust von Daten über die Zertifikate und musst dann mit Ctrl-C das ganze abschießen. Es sei denn, Du willst einen HTTP-Request über die Tastatur eintippen:
Code: (dl )
1
2
3
GET / HTTP/1.1
Host: yt-dl.org
(eine Leerzeile mit Return hintanhängen - das sieht man hier schlecht)

View full thread Abruf von https://yt-dl.org scheitert