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/e2open ... umentation
http://username:passwort@ip:port funktioniert nicht
Hier der Testcode (Ist für Enigma2 basierte Receiver) Quelle: https://www.purebasic.fr/english/viewto ... 12&t=69667
Code: Alles auswählen
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