0

我有这样一个问题 - 我想更改某个外部网站上某个元素的值。

即:我有受密码保护的网络摄像头 http 界面,并且有一个带有运动检测复选框和“应用”按钮(表单提交)的页面。我想创建具有某种延迟切换运动检测的简单程序(因此我可以启动该程序并在运动检测开始之前有时间离开建筑物)。所以我想更改复选框状态并将此更改写入系统。我尝试过这样的事情,但这不起作用:

 jQuery.get("http://admin:password@192.168.0.1:12345/motion-page.asp",
       function(data){
         $('input[name="checkbox1"]').prop('checked', false);
         // and there "simulate" clicking on Apply button - submit the form -- don't know how ...
       }
 );

请问有人可以帮我吗?

4

2 回答 2

1

我会从您提交相机表单时显示的页面回溯。查看表单本身是否将“打开相机”变量作为 GET 或 POST 提交。如果您已经知道这一点,那么您所要做的就是从相机访问与表单相同的 URL(假设它可以在这样的网络上通过 HTTP 访问)并提交相同的变量集。

如果您不想打开浏览器来执行此操作,您可以自己编写一个自定义应用程序来为您提交它,但无论哪种方式,您都必须打开一些东西才能提交,因为脚本必须等待 [X] 数量提出请求之前的时间。最快的方法是通过浏览器。

我不确定您是否需要 jquery(我几乎从不使用 jquery)。我会在脚本方面做什么,因为仅访问此脚本意味着您最有可能想要激活计时器,将是在 javascript 中创建一个计时器对象,然后制作一个访问相机表单提交的 URL 的单个函数使用 GET 字符串参数(如果可以通过 GET 实现,这是最简单的,因为您不必构建表单),或者,如果它是 POST,则让函数构建表单并通过 POST 将表单提交到相同的 URL。

谷歌如何在 javascript 中创建计时器,以及谷歌如何自动提交表单。如果您能自己解决,为您编写代码将浪费我的时间。如果没有,请回来看看我们能做些什么:) 祝你好运。

于 2012-10-02T19:10:23.517 回答
0

为什么不在点击提交按钮之后,或者在选中该框之后,让 javascript 实际运行一个计时器?如果这更适合您,请查看 js 或 jquery 中的计时器功能。不确定您是否需要将其写入磁盘或其他任何东西......因为您没有提供太多信息,但是您想要记录的任何数据都可以在选中该框时捕获,并且可以在计时器时与表单一起提交用尽。在 jquery 中提交表单很简单: http ://api.jquery.com/submit/ :)

于 2012-10-02T18:47:36.097 回答