最近几天使用了好几种Linux命令行浏览器,觉得很不错,例如curl、elinks、w3m等等。各有优缺点,下面就分别介绍下。
curl
curl功能很强大,对于各种情况基本上都有对应办法,比如访问页面乱码,可以加选项进行转码;或者访问被拒绝,则可以使用代理进行访问。下面就具体说明一下:
| 选项 | 含义 |
|---|---|
| -a/–append | 上传文件时,附加到目标文件 |
| -A/–user-agent | 设置用户代理发送给服务器 |
| -anyauth | 可以使用“任何”身份验证方法 |
| -b/–cookie | cookie字符串或文件读取位置 |
| -basic | 使用HTTP基本验证 |
| -B/–use-ascii | 使用ASCII /文本传输 |
| -c/–cookie-jar | 操作结束后把cookie写入到这个文件中 |
| -C/–continue-at | 断点续转 |
| -d/–data | HTTP POST方式传送数据 |
| –data-ascii | 以ascii的方式post数据 |
| –data-binary | 以二进制的方式post数据 |
| –negotiate | 使用HTTP身份验证 |
| –digest | 使用数字身份验证 |
| –disable-eprt | 禁止使用EPRT或LPRT |
| –disable-epsv | 禁止使用EPSV |
| -D/–dump-header | 把header信息写入到该文件中 |
| –egd-file | 为随机数据(SSL)设置EGD socket路径 |
| –tcp-nodelay | 使用TCP_NODELAY选项 |
| -e/–referer | 来源网址 |
| -E/–cert | 客户端证书文件和密码 (SSL) |
| –cert-type | 证书文件类型 (DER/PEM/ENG) (SSL) |
| –key | 私钥文件名 (SSL) |
| –key-type | 私钥文件类型 (DER/PEM/ENG) (SSL) |
| –pass | 私钥密码 (SSL) |
| –engine | 加密引擎使用 (SSL) |
| –cacert | CA证书 (SSL) |
| -f/–fail | 连接失败时不显示http错误 |
| –ftp-create-dirs | 如果远程目录不存在,创建远程目录 |
| –ftp-method [multicwd/nocwd/singlecwd] | 控制CWD的使用 |
| –ftp-pasv | 使用 PASV/EPSV 代替端口 |
| –ftp-skip-pasv-ip | 使用PASV的时候,忽略该IP地址 |
| –ftp-ssl | 尝试用 SSL/TLS 来进行ftp数据传输 |
| –ftp-ssl-reqd | 要求用 SSL/TLS 来进行ftp数据传输 |
| -F/–form | 模拟http表单提交数据 |
| -form-string | 模拟http表单提交数据 |
| -g/–globoff | 禁用网址序列和范围使用{}和[] |
| -G/–get | 以get的方式来发送数据 |
| -h/–help | 帮助 |
| -H/–header | 自定义头信息传递给服务器 |
| –ignore-content-length | 忽略的HTTP头信息的长度 |
| -i/–include | 输出时包括protocol头信息 |
| -I/–head | 只显示文档信息 |
| -j/–junk-session-cookies | 读取文件进忽略session cookie |
| –interface | 使用指定网络接口/地址 |
| -k/–insecure | 允许不使用证书到SSL站点 |
| -K/–config | 指定的配置文件读取 |
| -l/–list-only | 列出ftp目录下的文件名称 |
| –limit-rate | 设置传输速度 |
| –local-port | 强制使用本地端口号 |
| -m/–max-time | 设置最大传输时间 |
| –max-redirs | 设置最大读取的目录数 |
| –max-filesize | 设置最大下载的文件总量 |
| -M/–manual | 显示全手动 |
| -n/–netrc | 从netrc文件中读取用户名和密码 |
| -N/–no-buffer | 禁用缓冲输出 |
| -o/–output | 把输出写到该文件中 |
| -O/–remote-name | 把输出写到该文件中,保留远程文件的文件名 |
| -p/–proxytunnel | 使用HTTP代理 |
| -P/–ftp-port | 使用端口地址,而不是使用PASV |
| -Q/–quote | 文件传输前,发送命令到服务器 |
| -R/–remote-time | 在本地生成文件时,保留远程文件时间 |
| -s/–silent | 静音模式。不输出任何东西 |
| -S/–show-error | 显示错误 |
| -t/–telnet-option | Telnet选项设置 |
| -T/–upload-file | 上传文件 |
| -u/–user | 设置服务器的用户和密码 |
| -U/–proxy-user | 设置代理用户名和密码 |
| -V/–version | 显示版本信息 |
| -w/–write-out [format] | 什么输出完成后 |
| -x/–proxy | 在给定的端口上使用HTTP代理 |
| -X/–request | 指定什么命令 |
| -y/–speed-time | 放弃限速所要的时间。默认为30 |
| -Y/–speed-limit | 停止传输速度的限制,速度时间’秒 |
| -z/–time-cond | 传送时间设置 |
Elinks
选项:
-anonymous:是否使用匿名帐号方式;
-auto-submit:对于偶然遇到的第一个表单是否自动提交;
-config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录;
-dump:将HTML文档以纯文本的方式打印到标准输出设备;
-version:显示指令的版本信息;
-h:显示帮助信息。
w3m
一些常用的快捷键
H 显示帮助
q 退出,会有提示的
j,k,l,h 移动光标,就像vim中一样
J/K 向下/向上滚屏
< > 左右滚屏
在文本框里press Enter会提示TEXT:然后就可以输入了.输入后press Enter,最后按搜索键
T 打开一个新标签页
Esc-t 打开所有标签页,供你选择,使用jk来上下移动
{ } 在标签页中切换
U 输入新的网址
B 后退
Ctrl+q 关闭当前标签页
/ 向后查找当前页
? 向前查找当前页
在上述三种浏览器中,除了w3m对中文比较好用,其他curl、elinks都对中文编码的识别有缺陷,会出现访问中文页面乱码情况,下一节中对于这种情况的解决办法做一说明。
本文介绍了Linux环境下命令行浏览器curl、Elinks和w3m的使用。curl功能强大,支持多种场景,如代理访问。Elinks提供了匿名访问和配置目录设置等选项。w3m则以其友好的快捷键操作脱颖而出,特别适合中文页面浏览。然而,curl和Elinks在处理中文页面时可能存在乱码问题。
730





