Aktuelle Zeit: 05.07.2020 19:39

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Gelöst] Username und Passwort bei webIF - Api setzen
BeitragVerfasst: 19.06.2019 12:25 
Offline

Registriert: 30.03.2014 19:57
Wohnort: 18314 Löbnitz
Wenn ich im Browser (z.B. Firefox) die Adresse für WebIF (enigma2) die Adresse :
http://meine_ip:port eingebe, dann erscheint ein Fenster für die Eingabe des Usernames und Passwort.
Nach Eingabe erscheint dann das WebIF. Aber wie mache ich das in meinem Code ?
Wenn ich im WebIF den Username und Passwort entferne funktioniert der Testcode aber mit Username und Pass nicht.
Wie muss ich der WebIF-Api den Usernamen und Passwort mitteilen ? In der WEBIF-Api Dokumentation steht davon nichts.
https://github.com/E2OpenPlugins/e2openplugin-OpenWebif/wiki/OpenWebif-API-documentation
http://username:passwort@ip:port funktioniert nicht
Hier der Testcode (Ist für Enigma2 basierte Receiver) Quelle: https://www.purebasic.fr/english/viewtopic.php?f=12&t=69667
Code:
 

Structure _Channels_
  Name.s
  Name_xml.s
  Stream.s
EndStructure

Structure _Bouquets_
  Name.s
  InternalName.s
  List Chan._CHANNELS_()
EndStructure
Global NewList Bouquets._Bouquets_()


Global IP.s = "192.168.40.35"
Global port.s = "80"


Procedure GetBouquets(*CurrentNode)
  Protected *ChildNode
 
  If XMLNodeType(*CurrentNode) = #PB_XML_Normal
   
    If LCase(GetXMLNodeName(*CurrentNode)) = "e2servicereference"
      AddElement(Bouquets())
      Bouquets()\InternalName = GetXMLNodeText(*CurrentNode)
    ElseIf LCase(GetXMLNodeName(*CurrentNode)) = "e2servicename"
      Bouquets()\Name = GetXMLNodeText(*CurrentNode)
    EndIf   
   
    *ChildNode = ChildXMLNode(*CurrentNode)
   
    While *ChildNode <> 0
      GetBouquets(*ChildNode)
      *ChildNode = NextXMLNode(*ChildNode)
    Wend       
   
   
  EndIf
EndProcedure





Procedure GetChannels(*CurrentNode)
  Protected *ChildNode, a$
 
  If XMLNodeType(*CurrentNode) = #PB_XML_Normal
   
    If LCase(GetXMLNodeName(*CurrentNode)) = "e2servicereference"
      AddElement(Bouquets()\Chan())
      Bouquets()\Chan()\Stream = GetXMLNodeText(*CurrentNode)
    ElseIf LCase(GetXMLNodeName(*CurrentNode)) = "e2servicename"
      a$ = GetXMLNodeText(*CurrentNode)
      If a$ = "<n/a>"
        DeleteElement(Bouquets()\Chan())
      Else
        Bouquets()\Chan()\Name = a$
      EndIf
    EndIf   
   
    *ChildNode = ChildXMLNode(*CurrentNode)
   
    While *ChildNode <> 0
      GetChannels(*ChildNode)
      *ChildNode = NextXMLNode(*ChildNode)
    Wend       
   
  EndIf
 
EndProcedure


Procedure LoadBouquets(wert)
  Protected URL$, *Buffer, i
  Protected *MainNode, Size
 
  ClearList(Bouquets())
 
 
  URL$    = "http://" + IP + ":"+port+"/web/getservices"
  URL$    = URLEncoder(URL$)
  *Buffer = ReceiveHTTPMemory(URL$)
 
  If *Buffer
    Size = MemorySize(*Buffer)
   
    If CatchXML(0, *Buffer, MemorySize(*Buffer))
      If XMLStatus(0) = #PB_XML_Success
        *MainNode = MainXMLNode(0)
        GetBouquets(*MainNode)
      EndIf
      FreeXML(0)
    EndIf
    FreeMemory(*Buffer)
   
   
    ForEach Bouquets()
      If LCase(Bouquets()\Name)<>"last scanned"
        URL$    = "http://" + IP + ":"+port+"/web/getservices?sRef=" + Bouquets()\InternalName
        URL$    = URLEncoder(URL$)
        *Buffer = ReceiveHTTPMemory(URL$)
        Delay(100)
        If *Buffer
          If CatchXML(0, *Buffer, MemorySize(*Buffer))
            If XMLStatus(0) = #PB_XML_Success
              *MainNode = MainXMLNode(0)
              GetChannels(*MainNode)
            EndIf
            FreeXML(0)
          EndIf
          FreeMemory(*Buffer)
        EndIf
      Else
        DeleteElement(Bouquets())
      EndIf
    Next
   
   
  Else
    MessageRequester("Error", "Error downloading Bouquets and Channel !", #PB_MessageRequester_Error)
  EndIf
EndProcedure


InitNetwork()
LoadBouquets(0)
If ListSize(Bouquets())>0
  ForEach Bouquets()
    ForEach Bouquets()\Chan()
      Debug "Channel im Bouquet " +Bouquets()\Name + " = " +Bouquets()\Chan()\Name
    Next
  Next
Else
  Debug "Es wurde nichts empfangen"
EndIf

_________________
Purebasic 5.51


Zuletzt geändert von schleicher am 20.06.2019 11:48, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Username und Passwort bei webIF - Api setzen
BeitragVerfasst: 19.06.2019 18:06 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Schönen Abend,
wird das Webinterface auf dem Receiver über ein CGI Script angesprochen?
Dann kann es sein, dass der Receiver ein Security Token mit dem Webbrowser aushandeln.
Ich hab sowas mal mit der Easybox gemacht, das war nicht gerade einfach.
Dazu hab ich erstmal die Protokolle der I/O Schnittstelle mit Nmap protokolliert und analysiert.
Dann ging der Spass erst richtig los, man musste das Token abfangen, auswerten und entsprechend drauf reagieren.
Danach hat der Hersteller beim nächsten Update das Protokoll geändert und die Suche ging wieder von vorne los...

Vielleicht hilft es dir ein wenig, Denkanstoss...

Schöne Grüsse
Kurt

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Username und Passwort bei webIF - Api setzen
BeitragVerfasst: 19.06.2019 21:06 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Wäre nett gewesen die Quelle Deines Codes mit anzugeben...

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Username und Passwort bei webIF - Api setzen
BeitragVerfasst: 20.06.2019 11:41 
Offline

Registriert: 30.03.2014 19:57
Wohnort: 18314 Löbnitz
HeX0R hat geschrieben:
Wäre nett gewesen die Quelle Deines Codes mit anzugeben...

Ja stimmt sorry. Kommt nicht mehr vor. Habe ich vergessen. :oops:
Habs im ersten Post hinzugefügt.

Habe den Fehler nun gefunden.
Login funktioniert doch so :
http://username:pass@IP:port
Vorraussetzung ist, wenn in der Box die Auth. eingeschalten ist, das auch ein Passwort per Telnet gesetzt wird.
Nur mit Username und Passwort funktioniert der Login wenn Authentifizierung eingeschalten ist.

_________________
Purebasic 5.51


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Gelöst] Username und Passwort bei webIF - Api setzen
BeitragVerfasst: 20.06.2019 14:33 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Wieso hast Du das überhaupt aktiviert?
Lässt Du auch Zugriff von aussen zu?

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 13 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye