从我的Java代码中调用远程服务器上的Javascript函数

时间:2015-04-13 20:20:17

标签: java javascript httpurlconnection

网站上有一个使用onClick javascript函数运行名为HiddenUsers.show()HiddenUsers.hide()

的JS函数的网站

在我的Java代码中,我使用HttpURLConnection类建立了与此站点的连接。我可以使用BufferedOutputStream发布登录凭据,我可以获得InputStream的回复。但是有可能发送命令使得该按钮响应被点击反过来触发服务器端的JS功能,或者甚至更好地从我的Java代码中调用JS函数本身?

2 个答案:

答案 0 :(得分:0)

  

是否可以发送命令使得该按钮响应点击依次触发服务器端的JS功能

也许我没有完全关注,但Javascript在客户端(例如在浏览器中)运行,而不是在服务器上运行。因此,通过HttpURLConnection将javascript代码发送到网页没有多大意义。但是,您可以查看网页源代码和脚本,并找出按下按钮时会发生什么并做出响应。例如,如果按钮是提交按钮,则可以使用HttpURLConnection从与该按钮关联的表单数据发送get / post数据。

  

甚至更好地从我的Java代码中调用JS函数本身

您可以通过java中包含的javascript ScriptEngine调用javascript代码,但更改网页DOM的javascript调用将脱离上下文。

答案 1 :(得分:0)

你的第一句话中有一个简短的笑话。

除此之外,不,这不可能。我假设您正在尝试自动获取并从java发布到另一台服务器。它会收到javascript,HTML等...但它不会执行javascript,除非你不想让javascript引擎执行它,然后你有什么好处“显示”什么?

我假设您的角度是获取“隐藏”的用户。用户可能已经在某处的HTML标记中,在这种情况下,您只需要解析从响应中获取的HTML并获取它们。 “.show()”函数也可能通过ajax调用获取用户列表。如果是这种情况,你最好的办法就是弄清楚ajax调用是什么,并直接用另一个HttpURLConnection处理它。