2

Если вы используете Google Chrome в Linux, заголовок запроса User-Agent будет выглядеть так:

Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.1 (KHTML, как Gecko) Chrome/21.0.1180.89 Safari/537.1

Сверху мы узнаем, что браузер - это Chrome, а ОС - это Linux (наверное!). Но когда я захожу из браузера Midori, используя ту же ОС, что и Linux (Fedora), я вижу это:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ru-ru) AppleWebKit/535+ (KHTML, как Gecko) Версия /5.0 Safari /535.4+ Midori /0.4

Почему это говорит Macintosh?

1 ответ1

4

Midori идентифицируется как OS X Safari, если установлено значение Автоматически. Выберите Midori, чтобы переопределить его.

От midori/midori-websettings.h:

typedef enum
{
    MIDORI_IDENT_MIDORI /* Automatic */,
    MIDORI_IDENT_GENUINE /* Midori */,
    MIDORI_IDENT_SAFARI,
    // etc.
} MidoriIdentity;

midori/midori-websettings.c:

switch (identify_as)
{
case MIDORI_IDENT_GENUINE:
    return g_strdup_printf ("Mozilla/5.0 (%s %s) AppleWebKit/%d.%d+ %s",
        platform, os, webcore_major, webcore_minor, appname);
case MIDORI_IDENT_MIDORI:
case MIDORI_IDENT_SAFARI:
    g_object_set (web_settings, "enable-site-specific-quirks", TRUE, NULL);
    return g_strdup_printf ("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; %s) "
        "AppleWebKit/%d+ (KHTML, like Gecko) Version/5.0 Safari/%d.%d+ %s",
        lang, webcore_major, webcore_major, webcore_minor, appname);
// etc.

Хотя я не знаю причину, по которой разработчики предпочли притворяться Safari, этот пост в блоге об истории строки пользовательского агента, появившийся два года назад , заполнен более ранними примерами настройки строк пользовательского агента для обнаружения трюковых функций на веб-сайтах. , Всего один пример:

И последователи Linux были очень опечалены, потому что они создали Konqueror, чей движок был KHTML, который, по их мнению, был так же хорош, как Gecko, но это был не Gecko, и поэтому ему не дали хороших страниц, и поэтому Konquerer начал притворяться быть «как Gecko», чтобы получить хорошие страницы, и называл себя Mozilla/5.0 (совместимый; Konqueror/3.2; FreeBSD) (KHTML, как Gecko), и было много путаницы.

Веб-разработчики часто приспосабливают веб-сайты к определенным браузерам, реализуя запасные варианты для браузеров с меньшим количеством функций. Midori слишком неизвестен и имеет слишком малую долю рынка, чтобы веб-разработчики оптимизировали его специально для этого.

Таким образом, в качестве обходного пути ваш браузер притворяется Safari, поскольку он основан на WebKit и ведет себя одинаково. В противном случае он, вероятно, получит базовый текстовый дизайн на некоторых сайтах вместо современного опыта HTML5, на который он способен.

Поскольку Safari для Linux отсутствует, а изменение строк пользовательского агента по умолчанию сопряжено с определенным риском того, что он не будет признан подходящим браузером, у них был выбор между Windows и Mac OS X.

Поддерживая это предположение, из FAQ по Midori (data/faq.html при его загрузке):

Почему Google Mail/ Календарь / Карты, Facebook не работают или показывают мобильную версию?

Некоторые сайты дискриминируют ваш браузер.

Если у вас Midori старше 0.3.5, выберите «Настройки»> «Сеть»> «Определить как» и выберите «Пользовательский». Вставьте это в запись:

Mozilla / 5.0 (X11; Linux) AppleWebKit / 531.2+ Midori / 0.3

Если это не помогает, попробуйте выбрать Safari или Firefox.

Многие другие веб-сайты используют аналогичные средства обнаружения браузера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .