0

在我锻炼的健身房里,他们有一个开放的 wifi 接入点。它的设置方式,一旦你“连接”,你必须导航到一个网页(它是一个 1.1.XX 的 IP 地址)并单击“我同意”按钮,大概阅读用户协议后。问题是,他们将您设置为每小时注销一次,这总是发生在我锻炼的中间。我记住了 SSID,所以当我进入范围时它会自动连接,但我收到一个 android 通知,需要进一步的操作才能完全连接。

我想知道是否有一种解决方法,这样我就不必每小时点击一次?我正在考虑编写一个应用程序,它可以检测我何时在范围内或何时“半连接”,然后让它以某种方式完成注册过程。也许这必须通过将网页加载到内存中然后以某种方式单击“我同意”按钮来完成。

我想要帮助的是:

1)这里涉及的术语是什么?当我连接上,但我没有点击通过时,连接处于什么状态?还有哪些其他连接状态可能适用?如果我知道这一点,我也许可以研究这个并想出一个解决方案。这些不同的状态是否“可检测”?好像是因为我收到通知说我需要在“半连接”时完成注册过程。

2) 我知道有一些桌面浏览器插件可以点击按钮(比如 keepass 插件,它会让你登录到一个站点)。我怎么能在Android中复制这个?理想情况下,我想在内存中进行内部操作,而不是启动浏览器。可能的?注释?我的理解和思考过程在这里是合理的,还是我忽略了一些东西?

4

1 回答 1

1

更快地获得buff!开玩笑...下次你在那个页面上确保你抓住它的 html 源代码。如果您查看单击按钮发送的 POST 数据,您可能会使用计时器或一些智能来欺骗您自己发送该数据,以检测您是否没有完全连接到 wifi。您可能可以在您的应用程序中监听 wifi 状态变化,然后做出相应的反应。 wifi状态列表

我知道 Jsoup 支持使用 data(key, value) 方法将帖子数据发送到站点。

前任。

Jsoup.connect("www.somewebsite.com").data("username", "dymmeh").get();

同样,这取决于他们的设置是如何配置的。它可能无法通过发布数据来完成。

另一种方法是通过 WebView 加载站点,找到“同意”按钮,然后通过 javascript 单击它。

只是一些想法..所有这一切的实施​​将取决于你。

于 2012-10-23T17:12:55.933 回答