在Object._b_.NotImplementedError$ factory处获取错误使用Brython在$ make_exc处评估

如何解决在Object._b_.NotImplementedError$ factory处获取错误使用Brython在$ make_exc处评估

嗨,我正在使用 Brython 作为初学者。我的要求是从基于浏览器的应用程序ping一个IP地址。 我想知道是否有可能发生Brython 。我编写了很小的代码来实现它。

index.html

<html>

<head>
    <script src="https://cdn.jsdelivr.net/npm/Brython@3.8.10/Brython.min.js">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/Brython@3.8.10/Brython_stdlib.js">
    </script>
    <script type="text/python" src="./memos.py"></script>
    <script type="text/python" src="./hello.py"></script>
</head>

<body onload="Brython()">

<script type="text/python">
            
            from browser import document,alert
            from browser import document
            from browser.template import Template
            from hello import sayHi,getFullName
            from memos import ping

            def pingIP(event):
                ipAddress = document["ipadrs"].value
                pingResponse = ping(ipAddress)
                alert(pingResponse)
                document <= myFullName

            document["pingBtn"].bind("click",pingIP)
            Template(document["pingResponse"]).render(pingResponse=document)

</script>


<div id="d2">
<table>
    <tr>
        <td>Enter IP address:</td>
        <td><input type="text" name="ipadrs" id="ipadrs"></td>
        <td><button id="pingBtn">Ping</button></td>
        <td><span id="pingResponse">Are you able to ping (Ans: True / False): {pingResponse}</span></td>
    </tr>
</table>
</div>
</body>

</html>

下面是ping IP地址的Python代码

import platform  
import subprocess

def ping(host):
    """
    Returns True if host (str) responds to a ping request.
    Remember that a host may not respond to a ping (ICMP) request even if the host name is valid.
    """

    print("hiii");
    # Option for the number of packets as a function of
    param = '-n' if platform.system().lower()=='windows' else '-c'

    # Building the command. Ex: "ping -c 1 google.com"
    command = ['ping',param,'1',host]

    return subprocess.call(command) == 0

ping IP地址时出现以下错误

Uncaught Error
    at Object._b_.NotImplementedError.$factory (eval at $make_exc (Brython.js:7989),<anonymous>:1:212)
    at $module.<computed> (eval at run_js (Brython.js:9382),<anonymous>:128:43)
    at _execute_child13056 (eval at exec_module (Brython.js:9485),<anonymous>:6024:114)
    at $ (Brython.js:5492)
    at __init__13024 (eval at exec_module (Brython.js:9485),<anonymous>:2801:76)
    at r.__call__ (Brython.js:5698)
    at s (Brython.js:5876)
    at call13011 (eval at exec_module (Brython.js:9485),<anonymous>:1598:98)
    at ping9 (eval at run_py (Brython.js:9435),<anonymous>:54:103)
    at pingIP0 (eval at e.loop (Brython.js:5368),<anonymous>:63:93)
_b_.NotImplementedError.$factory @ VM161060:1
$module.<computed> @ VM161447:128
_execute_child13056 @ VM161128:6024
$ @ Brython.js:5492
__init__13024 @ VM161128:2801
r.__call__ @ Brython.js:5698
s @ Brython.js:5876
call13011 @ VM161128:1598
ping9 @ VM161126:54
pingIP0 @ VM161117:63
_ @ Brython.js:13593

但是,我可以在NodeJ中实现它。

解决方法

无法通过浏览器进行。您无法从浏览器执行系统调用。 Brython就像打字机一样,是Typescript。

引用this链接。按照此链接“ ,但是出于安全原因,无论如何,都无法在命令行中执行程序,例如从浏览器执行ping,无论是Java脚本还是Brython。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?