lynx命令行下的纯文本网页浏览器

lynx 是一个 命令行下的纯文本网页浏览器

  • 文本浏览器:在终端中访问网页,支持 HTTP/HTTPS、FTP 等协议。
  • 轻量快速:不解析图片、CSS、JS,仅展示网页文本,非常适合弱网环境或低性能服务器。
  • 调试工具:常用来测试 Web 服务可达性,特别是只需验证 HTML/HTTP 响应的场景。

1.应用场景

  1. 服务器环境测试

    • 服务器上没有图形界面,可以用 lynx http://example.com 来确认网站是否可访问。

    • 比如:

      1
      lynx -dump https://www.baidu.com

      会直接打印网页的纯文本内容。

  2. 安全与合规

    • 部分安全扫描流程里,会用 lynx 模拟“无脚本、纯文本”的客户端访问,检查页面 fallback 是否正常。
  3. 调试 HTTP 响应

    • 可以快速查看 跳转(3xx)、状态码(2xx/4xx/5xx),比 curl 更人性化一些。
  4. 爬虫/自动化

    • 因为只输出纯文本,便于脚本处理,比如:

      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. 查看网页文本内容

    1
    lynx -dump https://www.gnu.org
  2. 保存网页源代码

    1
    lynx -source https://www.gnu.org > page.html
  3. 模拟 POST 登录

    1
    echo "user=test&pass=1234" | lynx -post_data https://example.com/login
  4. 查看响应头

    1
    lynx -head https://www.baidu.com
  5. 脚本爬取纯文本

    1
    lynx -dump -nolist https://example.com | grep "关键字"

🔥 总结:

  • 快速查看网页内容-dump
  • 获取源代码-source
  • 调试 HTTP 响应-head
  • 自动化脚本-dump -nolist 配合 grep/awk