當前位置: 首頁>>代碼示例>>Python>>正文


Python UpnpPunch.ask_to_open_port方法代碼示例

本文整理匯總了Python中util.UpnpPunch.ask_to_open_port方法的典型用法代碼示例。如果您正苦於以下問題:Python UpnpPunch.ask_to_open_port方法的具體用法?Python UpnpPunch.ask_to_open_port怎麽用?Python UpnpPunch.ask_to_open_port使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在util.UpnpPunch的用法示例。


在下文中一共展示了UpnpPunch.ask_to_open_port方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: openport

# 需要導入模塊: from util import UpnpPunch [as 別名]
# 或者: from util.UpnpPunch import ask_to_open_port [as 別名]
    def openport(self, port=None, check=True):
        if not port:
            port = self.port
        if self.port_opened:
            return True  # Port already opened
        if check:  # Check first if its already opened
            time.sleep(1)  # Wait for port open
            if self.testOpenport(port, use_alternative=False)["result"] is True:
                return True  # Port already opened

        if config.tor == "always":  # Port opening won't work in Tor mode
            return False

        self.log.info("Trying to open port using UpnpPunch...")
        try:
            UpnpPunch.ask_to_open_port(self.port, 'ZeroNet', retries=3, protos=["TCP"])
        except (UpnpPunch.UpnpError, UpnpPunch.IGDError, socket.error) as err:
            self.log.error("UpnpPunch run error: %s" %
                           Debug.formatException(err))
            return False

        if self.testOpenport(port)["result"] is True:
            self.upnp_port_opened = True
            return True

        self.log.info("Upnp mapping failed :( Please forward port %s on your router to your ipaddress" % port)
        return False
開發者ID:Emeraude,項目名稱:ZeroNet,代碼行數:29,代碼來源:FileServer.py

示例2: test_ask_to_open_port_failure

# 需要導入模塊: from util import UpnpPunch [as 別名]
# 或者: from util.UpnpPunch import ask_to_open_port [as 別名]
    def test_ask_to_open_port_failure(self, mock_send_requests,
                                      mock_collect_idg, mock_local_ips):
        mock_local_ips.return_value = ['192.168.0.12']
        mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'}
        mock_send_requests.side_effect = upnp.UpnpError()

        with pytest.raises(upnp.UpnpError):
            upnp.ask_to_open_port()
開發者ID:0-vortex,項目名稱:ZeroNet,代碼行數:10,代碼來源:TestUpnpPunch.py

示例3: test_ask_to_open_port_success

# 需要導入模塊: from util import UpnpPunch [as 別名]
# 或者: from util.UpnpPunch import ask_to_open_port [as 別名]
    def test_ask_to_open_port_success(self, mock_send_requests,
                                      mock_collect_idg, mock_local_ips):
        mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'}
        mock_local_ips.return_value = ['192.168.0.12']

        result = upnp.ask_to_open_port(retries=5)

        soap_msg = mock_send_requests.call_args[0][0][0][0]

        assert result is None

        assert mock_collect_idg.called
        assert '192.168.0.12' in soap_msg
        assert '15441' in soap_msg
        assert 'schema-yo' in soap_msg
開發者ID:0-vortex,項目名稱:ZeroNet,代碼行數:17,代碼來源:TestUpnpPunch.py


注:本文中的util.UpnpPunch.ask_to_open_port方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。