lynx命令行下的纯文本网页浏览器
lynx 是一个 命令行下的纯文本网页浏览器。
- 文本浏览器:在终端中访问网页,支持 HTTP/HTTPS、FTP 等协议。
- 轻量快速:不解析图片、CSS、JS,仅展示网页文本,非常适合弱网环境或低性能服务器。
- 调试工具:常用来测试 Web 服务可达性,特别是只需验证 HTML/HTTP 响应的场景。
1.应用场景
服务器环境测试
服务器上没有图形界面,可以用
lynx http://example.com来确认网站是否可访问。比如:
1
lynx -dump https://www.baidu.com
会直接打印网页的纯文本内容。
安全与合规
- 部分安全扫描流程里,会用
lynx模拟“无脚本、纯文本”的客户端访问,检查页面 fallback 是否正常。
- 部分安全扫描流程里,会用
调试 HTTP 响应
- 可以快速查看 跳转(3xx)、状态码(2xx/4xx/5xx),比
curl更人性化一些。
- 可以快速查看 跳转(3xx)、状态码(2xx/4xx/5xx),比
爬虫/自动化
因为只输出纯文本,便于脚本处理,比如:
1
lynx -dump -nolist https://example.com > page.txt
2. 安装方法
在 CentOS/RHEL 系列:
1 | yum install -y lynx |
在 Debian/Ubuntu 系列:
1 | apt-get install -y lynx |
3. 对比其他工具
curl/wget→ 偏向获取内容,调试 HTTP 请求。lynx→ 偏向交互式浏览或文本化查看网页。links/w3m→ 类似工具,但w3m甚至能在终端显示图片(支持 framebuffer)。
4.lynx基本用法
1 | lynx [参数] URL |
常见例子:
1 | lynx https://example.com |
进入交互式纯文本浏览模式;
用方向键导航,q 退出。
4.1. 输出内容相关
-dump
将网页渲染为纯文本并打印到标准输出(不进入交互模式)。1
lynx -dump https://example.com
(常用于脚本抓取或快速查看)
-nolist
不显示页面底部的链接编号。1
lynx -dump -nolist https://example.com
-source
输出网页源代码(类似curl)。1
lynx -source https://example.com
4.2. HTTP 相关
-head
只获取 HTTP 头部信息。1
lynx -head https://example.com
-auth=用户名:密码
发送 Basic Auth 认证。1
lynx -auth=admin:123456 https://example.com/admin
-useragent="UA字符串"
自定义 User-Agent。1
lynx -useragent="Mozilla/5.0 Custom" https://example.com
-post_data
POST 提交数据(需要配合输入)。1
echo "username=foo&password=bar" | lynx -post_data https://example.com/login
4.3. 交互模式控制
-accept_all_cookies
自动接受所有 Cookie(免提示)。-cookie_file=FILE
指定 Cookie 文件路径。-nolog
禁止写Lynx.trace调试日志。-term=vt100
指定终端类型(解决字符集或显示问题)。
4.4. 其他有用参数
-dump -width=120
指定输出宽度,避免自动换行太窄。-traversal
递归遍历站点所有页面(有点像 wget -r)。-nobrowse
不显示交互式菜单,只做快速获取。
5.实用示例
查看网页文本内容
1
lynx -dump https://www.gnu.org
保存网页源代码
1
lynx -source https://www.gnu.org > page.html
模拟 POST 登录
1
echo "user=test&pass=1234" | lynx -post_data https://example.com/login
查看响应头
1
lynx -head https://www.baidu.com
脚本爬取纯文本
1
lynx -dump -nolist https://example.com | grep "关键字"
🔥 总结:
- 快速查看网页内容 →
-dump - 获取源代码 →
-source - 调试 HTTP 响应 →
-head - 自动化脚本 →
-dump -nolist配合grep/awk