|
- #!/usr/bin/python
- #
- # Small client for sending text to a socket and displaying the result.
- #
-
- # Licensed under the MIT license
- # http://opensource.org/licenses/mit-license.php
-
- # Copyright 2005, Tim Potter <tpot@samba.org>
-
- from twisted.internet import reactor, error
- from twisted.internet.protocol import Protocol, ClientFactory
-
- class Send(Protocol):
- def connectionMade(self):
- self.transport.write('''POST /ContentDirectory/control HTTP/1.1\r
- Host: 192.168.126.1:80\r
- User-Agent: POSIX, UPnP/1.0, Intel MicroStack/1.0.1423\r
- SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"\r
- Content-Type: text/xml\r
- Content-Length: 511\r
- \r
- \r
- <?xml version="1.0" encoding="utf-8"?>\r
- <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">\r
- <s:Body>\r
- <u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">\r
- <ObjectID>0\OnlineMedia\Internet radio\</ObjectID>\r
- <BrowseFlag>BrowseDirectChildren</BrowseFlag>\r
- <Filter>*</Filter>\r
- <StartingIndex>0</StartingIndex>\r
- <RequestedCount>7</RequestedCount>\r
- <SortCriteria></SortCriteria>\r
- </u:Browse>\r
- </s:Body>\r
- </s:Envelope>\r\n''')
-
- def dataReceived(self, data):
- print(data)
-
- def connectionLost(self, reason):
- if reason.type != error.ConnectionDone:
- print str(reason)
- reactor.stop()
-
- class SendFactory(ClientFactory):
- protocol = Send
-
- host = '192.168.126.128'
- port = 5643
-
- reactor.connectTCP(host, port, SendFactory())
- reactor.run()
|