Sha*_*ane 13 linux wireless-networking command-line login hotspot
我正在尝试连接到一个 wifi 网络,它会劫持所有请求并将您重定向到一个页面,您必须同意使用条款,然后才能让您连接到实际的外部世界。这是一种非常普遍的做法,通常不会造成太大问题。
但是,我有一台没有窗口系统的运行 Ubuntu 9.10 服务器的计算机。如何使用命令行同意使用条款?我无法在计算机上访问 Internet 以通过 apt-get 或类似方法下载软件包。当然,我可以想到许多解决方法,但我怀疑有一种简单的方法可以使用 wget 或 curl 或其他东西。
基本上,我需要一个命令行解决方案来发送基本上点击按钮的 HTTP POST 请求。为了将来参考,如果我在另一家酒店或机场遇到这种情况,知道如何使用用户名和密码发送 POST 请求会很有帮助。
提前安装 Lynx,然后从命令行使用 Lynx。Lynx 是一个基于文本的浏览器。
或者,您可以尝试使用 wget 或 curl 获取 www.google.com,然后分析返回的 HTTP 文件。
你将不得不寻找曾经在登录表单的源代码,找出用户名和密码字段的名称。当身份验证重定向所有页面时,使用任何 URL 来获取该源:
curl http://www.google.com > login.html
Run Code Online (Sandbox Code Playgroud)
例如,您会发现:
<form method="POST" action="http://my-public-provider.com/agree.php">
<input type="checkbox" name="agree" value="yes">I agree
<input type="submit" name="push" value="Send">
</form>
Run Code Online (Sandbox Code Playgroud)
另一种方法是(在另一台计算机上)使用Fiddler2等代理来查看浏览器“通过网络”发送的内容。
然后你可以构建你的curl命令来发布你的表单信息:
curl -d "agree=yes&push=Send" http://my-public-provider.com/agree.php
Run Code Online (Sandbox Code Playgroud)
如果您没有curl,则可以使用您在平台上可能拥有的语言(Perl、Lua、Java...)编写一个简单的 HTTP 客户端。
| 归档时间: |
|
| 查看次数: |
25208 次 |
| 最近记录: |