我正在使用w3m 。 我如何去覆盖这个基于文本的网页浏览器的用户代理? 我已经尝试设置-header“User-Agent:blah”作为示例,但出现以下错误:
w3m: Can't load blah.
我通过修改文件~/.w3m/config并修改user_agent行来设置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“webserver”,您可以看到w3m使用的标题:
$ 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个用户代理字符串,这些字符串可能不会被真正的HTTP服务器正确解析。
要更新和澄清从@ richq的很好的答案几点:
在用户代理字符串(UA)中没有“:”或“=”是不相关的(w3m发送该行的任何内容)
确认使用-header选项发送第二个UA是一个坏主意(不必要的)
echo 'user_agent <my-UA>' > ~/.w3m/config (通过<my-UA>粘贴所需的UA)
而更简单的方法来检查收到的UA是简单地抓住一个免费的UA网站页面,例如。
w3m whatsmyuseragent.com -dump (在屏幕上阅读UA)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。