Всегда ли в пользовательских агентах ботов "http"? - PullRequest
0 голосов
/ 02 ноября 2010

Безопасно ли предполагать, что все пользовательские агенты ботов всегда имеют URL-адреса в строках пользовательского агента? Я, конечно, сравниваю пользовательский агент со списком ботов, но идея здесь сделать предварительную проверку, прежде чем проверять его по длинному списку.

Возможно, если бы я мог лучше перефразировать мой вопрос, есть ли какие-либо недоботы, неисследующие, не пауки или какие-либо нечистые существа, которые имеют URL в пользовательском агенте?

Ответы [ 2 ]

2 голосов
/ 02 ноября 2010

Нет никаких предположений относительно строки пользовательского агента. RFC 1945, раздел 10.15 User Agent определяет формат, а раздел 3.7 Product Token определяет способ форматирования маркеров продукта. Как вы можете видеть из этих двух, строка пользовательского агента может быть практически любой, какой хочет HTTP-агент.

Примечание : строго говоря, использование URL в маркере продукта может рассматриваться как нарушение этого RFC, поскольку / следует рассматривать как разделитель между идентификатором продукта и версией продукта. .

2 голосов
/ 02 ноября 2010

Можно ли предположить, что все пользовательские агенты ботов всегда имеют URL-адреса в строках пользовательского агента?

Нет. Проверьте этот список ботов , там много ботов, которые не имеют URL.

Возможно, если бы я мог перефразировать мой вопрос лучше, есть ли какие-либо недоботные, неисследующие, не паучьи или какие-либо нечистые существа, которые имеют URL в пользовательском агенте?

Я не могу вспомнить, какой браузер имеет URL в строке агента, но это определенно опасное предположение, с которым работать. Помните, что, например, надстройки Internet Explorer могут добавлять свои подписи в строку пользовательского агента браузера. Вы не можете гарантировать, что в нем не будет URL.

...