phphttpagent
Ⅰ php獲得客戶端的操作系統語言
//操作系統
public function getOS(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95'))
$os = 'Windows 95';
else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
$os = 'Windows ME';
else if (eregi('win', $agent) && ereg('98', $agent))
$os = 'Windows 98';
else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
$os = 'Windows XP';
else if (eregi('win', $agent) && eregi('nt 5', $agent))
$os = 'Windows 2000';
else if (eregi('win', $agent) && eregi('nt 6.1', $agent))
$os = 'Windows 7';
else if (eregi('win', $agent) && eregi('nt 6', $agent))
$os = 'Windows Visita';
else if (eregi('win', $agent) && eregi('nt', $agent))
$os = 'Windows NT';
else if (eregi('win', $agent) && ereg('32', $agent))
$os = 'Windows 32';
else if (eregi('linux', $agent))
$os = 'Linux';
else if (eregi('unix', $agent))
$os = 'Unix';
else if (eregi('sun', $agent) && eregi('os', $agent))
$os = 'SunOS';
else if (eregi('ibm', $agent) && eregi('os', $agent))
$os = 'IBM OS/2';
else if (eregi('Mac', $agent) && eregi('PC', $agent))
$os = 'Macintosh';
else if (eregi('PowerPC', $agent))
$os = 'PowerPC';
else if (eregi('AIX', $agent))
$os = 'AIX';
else if (eregi('HPUX', $agent))
$os = 'HPUX';
else if (eregi('NetBSD', $agent))
$os = 'NetBSD';
else if (eregi('BSD', $agent))
$os = 'BSD';
else if (ereg('OSF1', $agent))
$os = 'OSF1';
else if (ereg('IRIX', $agent))
$os = 'IRIX';
else if (eregi('FreeBSD', $agent))
$os = 'FreeBSD';
else if (eregi('teleport', $agent))
$os = 'teleport';
else if (eregi('flashget', $agent))
$os = 'flashget';
else if (eregi('webzip', $agent))
$os = 'webzip';
else if (eregi('offline', $agent))
$os = 'offline';
else
$os = 'Unknown';
return $os;
}
Ⅱ 在PHP中如何模擬HTTP_USER_AGENT
在curl里可以設置UA
<?php
//client
$ch=curl_init();
curl_setopt_array($ch,
array(
CURLOPT_URL=>'http://localhost/ua.php',
CURLOPT_USERAGENT=>"YeRenChai_v1.0",
CURLOPT_RETURNTRANSFER=>True,
CURLOPT_FOLLOWLOCATION=>True,
)
);
$response=curl_exec($ch);
if(!$response)exit(curl_error($ch));
var_mp($response);
?>
<?php//server
echo$_SERVER['HTTP_USER_AGENT'];
?>
Ⅲ PHP 中使用http_user_agent的時候提醒沒有定義
$_SERVER["HTTP_USER_AGENT"]獲取客戶端瀏覽器的型號,這個不是一定準確的,是可以隨意偽造的
Ⅳ PHP判斷瀏覽器
用 $_SERVER["HTTP_USER_AGENT"] 取瀏覽器信息,里邊有瀏覽器的類型及版本
隨手網上搜的
<?php
if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 8.0″))
echo 「Internet Explorer 8.0″; // 這里可以寫其他的執行命令
else if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 7.0″))
echo 「Internet Explorer 7.0″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 6.0″))
echo 「Internet Explorer 6.0″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Firefox/3″))
echo 「Firefox 3″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Firefox/2″))
echo 「Firefox 2″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Chrome」))
echo 「Google Chrome」;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Safari」))
echo 「Safari」;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Opera」))
echo 「Opera」;
else echo $_SERVER["HTTP_USER_AGENT"];
?>
Ⅳ 請問php如何根據瀏覽器跳轉
可以使用伺服器變數USER_AGENT。
每種瀏覽器都有自己特定的user_agent,裡麵包含瀏覽器的類型和版本信息。可以通過這個信息來判斷客戶端使用什麼瀏覽器。當然,你要收集常見瀏覽器的user_agent信息。
$user_agent=$_SERVER['USER_AGENT'];
以下內容是火狐瀏覽器的user_agent:
Mozilla/5.0(Macintosh;IntelMacOSX10.7;rv:22.0)Gecko/20100101Firefox/22.0
Ⅵ 在PHP中如何運用代碼可以模擬http_user_agent
function fopen($url, $limit = 500000, $post = '', $cookie = '', $bysocket = false, $ip = '', $timeout = 15, $block = true)
{
$return = '';
$matches = parse_url($url);
$host = $matches['host'];
$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';
$port = !empty($matches['port']) ? $matches['port'] : 80;
if($post)
{
$out = "POST $path HTTP/1.0\r\n";
$out .= "Accept: */*\r\n";
//$out .= "Referer: $boarrl\r\n";
$out .= "Accept-Language: zh-cn\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "
: $_SERVER[HTTP_USER_AGENT]\r\n";
$out .= "Host: $host\r\n";
$out .= 'Content-Length: '.strlen($post)."\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cache-Control: no-cache\r\n";
$out .= "Cookie: $cookie\r\n\r\n";
$out .= $post;
}
else
{
$out = "GET $path HTTP/1.0\r\n";
$out .= "Accept: */*\r\n";
//$out .= "Referer: $boarrl\r\n";
$out .= "Accept-Language: zh-cn\r\n";
$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cookie: $cookie\r\n\r\n";
}
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
if(!$fp)
{
return '';
}
else
{
stream_set_blocking($fp, $block);
stream_set_timeout($fp, $timeout);
@fwrite($fp, $out);
$status = stream_get_meta_data($fp);
if(!$status['timed_out'])
{
while (!feof($fp))
{
if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n"))
{
break;
}
}
$stop = false;
while(!feof($fp) && !$stop)
{
$data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit));
$return .= $data;
if($limit)
{
$limit -= strlen($data);
$stop = $limit <= 0;
}
}
}
@fclose($fp);
return $return;
}
}
看到User-Agent了嗎,你可以隨意修改
Ⅶ php 怎麼獲取瀏覽器的類型
可以使用預定義變數:
$_SERVER['HTTP_USER_AGENT']
返回如下:
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7
Ⅷ php如何判斷客戶端是pc還是手機
//判斷是否是手機
functionis_mobile()
{
$agent=strtolower($_SERVER['HTTP_USER_AGENT']);
$is_pc=(strpos($agent,'windowsnt'))?true:false;
$is_mac=(strpos($agent,'macos'))?true:false;
$is_iphone=(strpos($agent,'iphone'))?true:false;
$is_android=(strpos($agent,'android'))?true:false;
$is_ipad=(strpos($agent,'ipad'))?true:false;
if($is_pc){
returnfalse;
}
if($is_mac){
returntrue;
}
if($is_iphone){
returntrue;
}
if($is_android){
returntrue;
}
if($is_ipad){
returntrue;
}
}
Ⅸ 我用PHP $_SERVER['HTTP_USER_AGENT'] 獲取到的客戶瀏覽器信息只有 「Mozilla/4.0」 這是什麼瀏覽器
簡單來說,瀏覽分為兩部分構成:shell+內核。其中shell的種類相對比較多,內核則比較少。shell是指瀏覽器的外殼,例如菜單工具欄目等,主要是提供給用戶界面操作,參數設置等等,它是調用內核來實現各種功能的,內核才是瀏覽器的核心。內核是基於標記語言顯示內容的程序或模塊,也有一些瀏覽並不區分內核和外殼,從Mozilla將Gecko獨立出來以後,才有了外殼和內核的明確劃分。目前主流瀏覽有:IE6,IE8,Mozilla FireFox,Opera,Safari,chrome,Netscape等。
瀏覽器內核又可以分為兩部分:渲染引擎和JS引擎。它負責取得網頁的內容(HTML,XML,圖像等等)、訊息整理(例如加入CSS等),然後會輸出至顯示器或者列印機。瀏覽器內核的不同對於網頁的語法解釋會有不同,所以渲染的效果也不同,所有網頁瀏覽器,電子郵件客房端,以及其它需要編輯,顯示網路內容的應用都需要內核,JS引擎則是解析javascript語言,執行javascript語言來實現網頁的動態效果。最開始渲染引擎和JS引擎沒有區分很明確,後來JS引擎越來越獨立,內核引擎就傾向於只指渲染引擎,有一個網頁標准計劃小組製作了一個ACID來測試引擎的兼容性和性能,內核的種類很多,如加上沒什麼人使用的非商業的免費內核,可能會有十多種,但是常見的瀏覽器內核可以分為四種:Trient\Gecko\Presto\Webkit.
Trident 又稱MSHTML,是微軟開的渲染引擎(包含了javascript引擎JScript),它已深入了Window系統的骨髓,例如:Window Player,Window explore,OutLook express等都使用了,目前很多瀏覽都使用這個引擎,如IE,Maxthon(最新版本使用Webkit).
Gecko:是使用C++開發的,Open Source的渲染引擎,包括了SpiderMonkey(Rhino)。主要的使用者有Firefox。
Webkit:是蘋果公司基於KHTML開發的,包括Webcore和JavaScriptCore(SquirrelFish,V8)兩個引擎。主要使用者有Safari,chrome.
Presto:Opera software公司開發的,用於Opera引擎渲染,Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的內核。
Trident內核:IE,MaxThon,TT,The World,360,搜狗瀏覽器等
Gecko內核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto內核:Opera7及以上
Webkit內核:Safari,Chrome等
1,Trident內核和W3C標准脫節。
2,Trident內核的大量Bug等安全問題沒有得到解決,加上一些專家學者公開自己認為IE瀏覽器不安全的觀點,使很多用戶開始轉向其他瀏覽器,FF,Opera就是這時期興起的。
Gecko:這是Firefox 和 Flock 所採用內核,這個內核的優點就是功能強大、豐富,可以支持很多復雜網頁效果和瀏覽器擴展介面,但是代價是也顯而易見就是要消耗很多的資源,比如內存。
Presto:Opera 採用的是 Presto內核,Presto內核被稱為公認的瀏覽網頁速度最快的內核,這得益於它在開發時的天生優勢,在處理JS腳本等腳本語言時,會比其他的內核快3倍左右,缺點就是為了達到很快的速度而丟掉了一部分網頁兼容性。
Ⅹ 在php中如何模擬HTTP_USER_AGENT,一個網站需要驗證這個,請問下怎麼模擬
<?php
//client
$ch=curl_init();
curl_setopt_array($ch,
array(
CURLOPT_URL=>'http://localhost/ua.php',
CURLOPT_USERAGENT=>"YeRenChai_v1.0",
CURLOPT_RETURNTRANSFER=>True,
CURLOPT_FOLLOWLOCATION=>True,
)
);
$response=curl_exec($ch);
if(!$response)exit(curl_error($ch));
var_mp($response);
?>