2012-04-21 4 views

ответ

3

Я установил User-Agent путем изменения файла ~/.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', но проблема в том, что он отображается дважды в запросе. Вы можете увидеть заголовки, которые w3m использует, если вы создали Netcat «веб-сервер»:

$ 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.

2

Чтобы обновить и уточнить несколько моментов от @ richq Хорошего ответа:

  • Нового w3m устанавливает только создать пустую папку конфигурации (~/.w3m)
  • Имея нет ':' или '=' в строке агента пользователя (UA) не имеет значения (w3m посылает то, что на этой линии)
  • подтвердил, что с помощью опции -header отправить второй UA это плохая идея (и ненужно)
  • быстрый, один -линер для установки UA:

    echo 'user_agent <my-UA>' > ~/.w3m/config (Paste желательно UA над <my-UA>)

  • И гораздо более простой способ проверить полученный UA, чтобы просто захватить один из свободных UA страниц сайта, Ex.

    w3m whatsmyuseragent.com -dump (Read UA на экране.)

Смежные вопросы