远程网站触发本地操作

时间:2012-03-25 18:11:15

标签: python

我的计算机上有本地的大型视频文件(~100GB)。我有一个非本地网站,我输入有关视频文件的信息。另外,我需要获取视频文件的校验和(我不想在本地手动触发脚本并复制和粘贴值)。为了获得视频文件的校验和,我有一个可以$ checksum.py <video file>运行的脚本。

如何通过Web界面触发本地脚本?换句话说,我希望能够输入视频文件的PATH并单击Web应用程序上的提交,它将在本地触发脚本,并且(在校验和完成后),将该值插入Web应用程序/数据库。最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

除非您的本地脚本不断监听某种数据源(如提供路径的XML / JSON源的固定URL),否则您无法触发任何操作,恕我直言,会使您的系统过于复杂。

你也可以使用本地运行的Java applet而不是远程网站,但是你必须签名才能读取本地文件,它可能不是你想要的。

想一想:这完全取决于安全性。您是否希望任何Web服务器在本地计算机中触发脚本?我当然不会。

恕我直言,最好的解决方案是手动触发脚本,将数据发送到您的网络服务器。

答案 1 :(得分:1)

通常,浏览器在沙盒中运行,该沙箱对操作系统的访问权限非常有限。特别是您无法从浏览器运行shell脚本。在我看来,你有两个选择:

  1. 调整您的checksum.py脚本,使用urllib2调用将校验和信息直接发送到您的网站,或将结果传递给“curl”命令。 (不涉及浏览器。)
  2. 使用FileReader类将checksum.py重写为JavaScript。这可能会很复杂,很慢,并且无法在Internet Explorer中使用。