Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизTWebBrowser и php Найти похожие ветки
← →
БарЛог © (2006-02-19 20:56) [0]Два вопроса, один по компоненте, другой по php:
1. PHP: скрипт на пхп каким-то образом узнает, какой браузер его использует. Каким образом? Желателен текст скрипта.
2. Используя TWebBrowser, можно ли тому скрипту послать свою информацию (о браузере)? Например, пишу свой браузер, используя тот компонент. Браузер "ааа". Можно ли сделать так, чтоб тот скрипт отображал "ааа"?
ЗЫ Всем привет!
← →
Юрий © (2006-02-19 21:00) [1]Ответ на первый вопрос:
/**
* Return Operation System from user agent string
* @param Array
* @param String
* @return String
*/
function getSystem($arrSystem,$userAgent)
{
$system = "Other";
foreach($arrSystem as $key => $value)
{
if (strpos($userAgent, $key) !== false)
{
$system = $value;
break;
}
}
return $system;
}
/**
* Return Browser from user agent string
* @param Array
* @param String
* @return Associative Array
*/
function getBrowser($arrBrowser,$userAgent)
{
$version = "";
$browser = "Other";
if (($pos = strpos($userAgent, "Opera")) !== false)
{
$browser = "Opera";
$pos += 6;
if ((($posEnd = strpos($userAgent, ";", $pos)) !== false) || (($posEnd = strpos($userAgent, " ", $pos)) !== false))
$version = trim(substr($userAgent, $pos, $posEnd - $pos));
}
elseif (($pos = strpos($userAgent, "MSIE")) !== false)
{
$browser = "Internet Explorer";
$posEnd = strpos($userAgent, ";", $pos);
if ($posEnd !== false)
{
$pos += 4;
$version = trim(substr($userAgent, $pos, $posEnd - $pos));
}
}
elseif (((strpos($userAgent, "Gecko")) !== false) && ((strpos($userAgent, "Netscape")) === false))
{
$browser = "Mozila";
if (($pos = strpos($userAgent, "rv:")) !== false)
{
$posEnd = strpos($userAgent, ")", $pos);
if ($posEnd !== false)
{
$pos += 3;
$version = trim(substr($userAgent, $pos, $posEnd - $pos));
}
}
}
elseif ((strpos($userAgent, " I;") !== false) || (strpos($userAgent, " U;") !== false) || (strpos($userAgent, " U ;") !== false) || (strpos($userAgent, " I)") !== false) || (strpos($userAgent, " U)") !== false))
{
$browser = "Netscape Navigator";
if (($pos = strpos($userAgent, "Netscape6")) !== false)
{
$pos += 10;
$version = trim(substr($userAgent, $pos, strlen($userAgent) - $pos));
}
else
{
if (($pos = strpos($userAgent, "Mozilla/")) !== false)
{
if (($posEnd = strpos($userAgent, " ", $pos)) !== false)
{
$pos += 8;
$version = trim(substr($userAgent, $pos, $posEnd - $pos));
}
}
}
}
else
{
foreach($arrBrowser as $key => $value)
{
if (strpos($userAgent, $key) !== false)
{
$browser = $value;
break;
}
}
}
$userAgentArr["browser"] = $browser;
$userAgentArr["version"] = $version;
return $userAgentArr;
}
А вот сами массивы со значениями: Код (any language): скопировать код в буфер обмена
$arrSystem["Windows 3.1"] = "Windows 3.1";
$arrSystem["Win16"] = "Windows 3.1";
$arrSystem["16bit"] = "Windows 3.1";
$arrSystem["Win32"] = "Windows 95";
$arrSystem["32bit"] = "Windows 95";
$arrSystem["Win 32"] = "Windows 95";
$arrSystem["Win95"] = "Windows 95";
$arrSystem["Windows 95/NT"] = "Windows 95";
$arrSystem["Win98"] = "Windows 98";
$arrSystem["Windows 95"] = "Windows 95";
$arrSystem["Windows 98"] = "Windows 98";
$arrSystem["Windows NT 5.0"] = "Windows 2000";
$arrSystem["Windows NT 5.1"] = "Windows XP";
$arrSystem["Windows NT"] = "Windows NT";
$arrSystem["WinNT"] = "Windows NT";
$arrSystem["Windows ME"] = "Windows ME";
$arrSystem["Windows CE"] = "Windows CE";
$arrSystem["Windows"] = "Windows 95";
$arrSystem["Mac_68000"] = "Macintosh";
$arrSystem["Mac_PowerPC"] = "Macintosh";
$arrSystem["Mac_68K"] = "Macintosh";
$arrSystem["Mac_PPC"] = "Macintosh";
$arrSystem["Macintosh"] = "Macintosh";
$arrSystem["IRIX"] = "Unix";
$arrSystem["SunOS"] = "Unix";
$arrSystem["AIX"] = "Unix";
$arrSystem["Linux"] = "Unix";
$arrSystem["HP-UX"] = "Unix";
$arrSystem["SCO_SV"] = "Unix";
$arrSystem["FreeBSD"] = "Unix";
$arrSystem["BSD/OS"] = "Unix";
$arrSystem["OS/2"] = "OS/2";
$arrSystem["WebTV/1.0"] = "WebTV/1.0";
$arrSystem["WebTV/1.2"] = "WebTV/1.2";
$arrBrowser["Lynx"] = "Lynx";
$arrBrowser["libwww-perl"] = "Lynx";
$arrBrowser["ia_archiver"] = "Crawler";
$arrBrowser["ArchitextSpider"] = "Crawler";
$arrBrowser["Lycos_Spider_(T-Rex)"] = "Crawler";
$arrBrowser["Scooter"] = "Crawler";
$arrBrowser["InfoSeek"] = "Crawler";
$arrBrowser["AltaVista"] = "Crawler";
$arrBrowser["Eule-Robot"] = "Crawler";
$arrBrowser["SwissSearch"] = "Crawler";
$arrBrowser["Checkbot"] = "Crawler";
$arrBrowser["Crescent Internet ToolPak"] = "Crawler";
$arrBrowser["Slurp"] = "Crawler";
$arrBrowser["WiseWire-Widow"] = "Crawler";
$arrBrowser["NetAttache"] = "Crawler";
$arrBrowser["Web21 CustomCrawl"] = "Crawler";
$arrBrowser["CheckUrl"] = "Crawler";
$arrBrowser["LinkLint-checkonly"] = "Crawler";
$arrBrowser["Namecrawler"] = "Crawler";
$arrBrowser["ZyBorg"] = "Crawler";
$arrBrowser["Googlebot"] = "Crawler";
$arrBrowser["WebCrawler"] = "Crawler";
$arrBrowser["WebCopier"] = "Crawler";
$arrBrowser["JBH Agent 2.0"] = "Crawler";
найдено на dklab.ru
← →
Юрий © (2006-02-19 21:03) [2]Прочитав повнимательней, понял, наверное не совсем по теме.
← →
БарЛог © (2006-02-19 21:05) [3]Юрий © (19.02.06 21:03) [2]
Почему же? Самое то. Спасибо.
Более всего интересует второй вопрос.
← →
LexxX © (2006-02-19 21:05) [4]1. Анализируй переменную
_SERVER["HTTP_USER_AGENT"]
2. хз :)
← →
palva © (2006-02-19 21:08) [5]Клиент посылает информацию в заголовке User-Agent: ...
Сервер берет информацию из переменной окружения HTTP_USER_AGENT
Какие бывают значения? Можно посмотреть здесь:
http://roman.lebedev.com/text/http_user_agent.php
Значение может быть любое, но вы не можете запретить серверу реагировать на эту информацию нестандартным образом.
← →
Ученик чародея © (2006-02-19 21:11) [6]
> БарЛог © (19.02.06 21:05) [3]
> Юрий © (19.02.06 21:03) [2]
> Почему же? Самое то. Спасибо.
>
> Более всего интересует второй вопрос.
Ну почему же. Берете версию браузера из переменной окружения и просто выводите в html формате с использование echo или print.
ЗЫ
По PHP в сети есть куча хороших книг, нашару и на русском не или это http://www.intuit.ru/
← →
Бугага © (2006-02-20 04:57) [7]Можно передать пхп скрипту параметр
← →
БарЛог © (2006-02-20 08:12) [8]Бугага © (20.02.06 04:57) [7]
Ды нет, скрипт то как раз мне и не доступен.
Ладно, раскрою карты, есть он-лайн игруха, работает только с интернет эксплорером. Я хочу написать для нее что-то вроде клиента.
Основная проблема в том, что есть либо интернет (на работе), либо делфи - дома :(
Вот, буду выше приведенный скрипт тестировать дома на предмет "обмана".
← →
SergP. (2006-02-20 10:44) [9]
> БарЛог © (20.02.06 08:12) [8]
> Бугага © (20.02.06 04:57) [7]
> Ды нет, скрипт то как раз мне и не доступен.
>
> Ладно, раскрою карты, есть он-лайн игруха, работает только
> с интернет эксплорером. Я хочу написать для нее что-то вроде
> клиента.
А проблема тогда в чем? Если игре требуется ИЕ, то она в лице TWebbrowser"а она получит тот же самый ИЕ. А если тебе нужно работать не с помощью браузера, то при реализации HTTP-протокола никто ведь не мешает тебе писать в User-Agent все чего душа пожелает...
Я сначала подумал что ты хочешь чтобы браузер (TWebBrowser) в User-Agent выдавал нечно отличное от того что выдает ИЕ... Так х/з.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.013 c