http mit Authentifizierung für VLC-Player
Verfasst: 02.09.2018 15:02
Ich versuche den VLC-Player über das Webinterface fernzusteuern. Dazu habe ich im VLC Passwort und Port festgelegt, das Passwort ist bei neuen Versionen nötig, ein Username wird nicht angegeben.
Aus dem Browser (Firefox) heraus kann ich den VLC jetzt nach folgendem Schema ansprechen:
Daraufhin fragt mich der Browser einmalig nach Username und Passwort, User lasse ich leer, Passwort gebe ich an und bekomme ein XML mit den Statusdaten zurück, der VLC führt den übermittelten Befehl aus.
Jetzt versuche ich das mit Purebasic umzusetzen. Verbindung aufbauen geht auch soweit, aber ich bekomme keine Authentifizierung hin. Einfache Auth nach dem Schema: wird nicht akzeptiert, entweder ist das dem VLC zu einfach oder der fehlende Username für dem :passwort macht Probleme. Ich kann aber auch keinen Usernamen im VLC festlegen.
Versuche das mit POST zu authentifizieren werden auch abgelehnt. Ich bekomme nichtmal eine Antwort vom VLC zurück. Das hier habe ich mit aus diversen Forenbeiträgen zu POST zusammengesucht und auch schon verschiedentlich variiert:
Wie bekomme ich das Passwort an den VLC geschickt? Das muss doch irgendwie gehen...
Aus dem Browser (Firefox) heraus kann ich den VLC jetzt nach folgendem Schema ansprechen:
Code: Alles auswählen
http://127.0.0.1:49161/requests/status.xml?command=pl_playJetzt versuche ich das mit Purebasic umzusetzen. Verbindung aufbauen geht auch soweit, aber ich bekomme keine Authentifizierung hin. Einfache Auth nach dem Schema:
Code: Alles auswählen
GET http://:passwort@127.0.0.1:49161/requests/status.xml?command=pl_playVersuche das mit POST zu authentifizieren werden auch abgelehnt. Ich bekomme nichtmal eine Antwort vom VLC zurück. Das hier habe ich mit aus diversen Forenbeiträgen zu POST zusammengesucht und auch schon verschiedentlich variiert:
Code: Alles auswählen
*pass = UTF8(":" + passwort)
dtext.s = "POST /requests/status.xml HTTP/1.0" + #CRLF$
dtext + "Host: 127.0.0.1:49161" + #CRLF$
dtext + "Accept: text/html" + #CRLF$
dtext + "Connection: keep-alive" + #CRLF$
dtext + "Authorization: " + Base64Encoder(*pass, MemorySize(*pass)) + #CRLF$ + #CRLF$
dtext + "command=pl_play"
FreeMemory(*pass)
SendNetworkString(cIDlan, dtext)