我正在使用 w3m 。我如何去覆盖这个基于文本的网络浏览器的用户代理?我曾尝试设置 -header "User-Agent: blah"作为示例,但出现以下错误:

w3m: Can't load blah.

最佳答案

我通过修改文件 ~/.w3m/config 和修改 user_agent 行来设置用户代理。我有以下文本,它似乎按预期工作: user_agent Mozilla/5.0 (Linux i686; U; w3m 0.5.3; en) 。它没有 : 或 = 符号,只是为了让您了解所使用的语法。

这是 w3m 版本 0.5.3。

您也可以使用 w3m -header 'User-Agent: blah' 设置它,但问题是它在请求中出现了两次。如果您设置了 netcat“网络服务器”,您可以看到 w3m 使用的 header :

$ netcat -lp 9999
# then in another terminal:
$ w3m -header 'User-Agent: foo' http://localhost:9999
# back at netcat:
GET / HTTP/1.0
User-Agent: w3m/0.5.3
Accept: text/html, text/*;q=0.5, image/*
Accept-Encoding: gzip, compress, bzip, bzip2, deflate
Accept-Language: en;q=1.0
Host: localhost:9999
User-Agent: foo

所以它发送了 2 个 User-Agent 字符串,这些字符串可能无法被真实的 HTTP 服务器正确解析。

关于linux - 如何在 w3m 中设置用户代理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10257932/

10-08 21:43