OScamInfo.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:enigma2 作者: BlackHole 项目源码 文件源码
def openWebIF(self, part = None, reader = None):
        self.proto = "http"
        if config.oscaminfo.userdatafromconf.value:
            self.ip = "127.0.0.1"
            udata = self.getUserData()
            if isinstance(udata, str):
                if "httpuser" in udata:
                    self.username=""
                elif "httppwd" in udata:
                    self.password = ""
                else:
                    return False, udata
            else:
                self.port = udata[2]
                self.username = udata[0]
                self.password = udata[1]
        else:
            self.ip = ".".join("%d" % d for d in config.oscaminfo.ip.value)
            self.port = str(config.oscaminfo.port.value)
            self.username = str(config.oscaminfo.username.value)
            self.password = str(config.oscaminfo.password.value)

        if self.port.startswith( '+' ):
            self.proto = "https"
            self.port.replace("+","")

        if part is None:
            self.url = "%s://%s:%s/oscamapi.html?part=status" % ( self.proto, self.ip, self.port )
        else:
            self.url = "%s://%s:%s/oscamapi.html?part=%s" % ( self.proto, self.ip, self.port, part )
        if part is not None and reader is not None:
            self.url = "%s://%s:%s/oscamapi.html?part=%s&label=%s" % ( self.proto, self.ip, self.port, part, reader )

        pwman = urllib2.HTTPPasswordMgrWithDefaultRealm()
        pwman.add_password( None, self.url, self.username, self.password )
        handlers = urllib2.HTTPDigestAuthHandler( pwman )
        opener = urllib2.build_opener( urllib2.HTTPHandler, handlers )
        urllib2.install_opener( opener )
        request = urllib2.Request( self.url )
        err = False
        try:
            data = urllib2.urlopen( request ).read()
            # print data
        except urllib2.URLError, e:
            if hasattr(e, "reason"):
                err = str(e.reason)
            elif hasattr(e, "code"):
                err = str(e.code)
        if err is not False:
            print "[OScaminfo] Fehler: %s" % err
            return False, err
        else:
            return True, data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号