用ASP截取手機號碼
通過獲得Server變量的值,本來就可以得到手機號碼,但是這個方法不是所有的地區都可以,有些地方網關做了過濾,就不能得到了
Request.ServerVariables("HTTP_X_UP_CALLING_LINE_ID")? ? '移動手機號碼
Request.ServerVariables("HTTP_X_UP_SUBNO")? ?? ???'聯通手機號碼
jsp實例:
//取手機號
String mobile = "" ;
String MO="";
String temvit = "";
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName = (String)headerNames.nextElement();
if (headerName.equals("x-up-calling-line-id")) {
temvit=request.getHeader(headerName);
if (temvit.substring(0,3).trim().equals("861")) {
mobile=temvit.substring(2,13);
}
if (temvit.substring(0,2).trim().equals("13")) {
mobile=temvit;
}
}
? ???if (headerName.equals("user-agent")) {
? ?? ?? ?MO=request.getHeader(headerName);
}
if (headerName.equals("x-up-calling-line-id")) {
temvit=request.getHeader(headerName);
if (temvit.substring(0,2).trim().equals("13")) {
mobile=temvit;
}
}
}
這段代碼可以取得聯通和移動的號碼
php實例:
<?php
class mobile
{
/**
* 函數名稱: getPhoneNumber
* 函數功能: 取手機號
* 輸入參數: none
* 函數返回值: 成功返回號碼,失敗返回false
* 其它說明: 說明
*/
function getPhoneNumber()
{
if (isset($_SERVER['HTTP_X_NETWORK_INFO']))
{
$str1 = $_SERVER['HTTP_X_NETWORK_INFO'];
$getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i','\2',$str1);
Return $getstr1;
}
elseif (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))
{
$getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID'];
Return $getstr2;
}
elseif (isset($_SERVER['HTTP_X_UP_SUBNO']))
{
$str3 = $_SERVER['HTTP_X_UP_SUBNO'];
$getstr3 = preg_replace('/(.*)(11[d])(.*)/i','\2',$str3);
Return $getstr3;
}
elseif (isset($_SERVER['DEVICEID']))
{
Return $_SERVER['DEVICEID'];
}
else
{
Return false;
}
}
/**
* 函數名稱: getHttpHeader
* 函數功能: 取頭信息
* 輸入參數: none
* 函數返回值: 成功返回號碼,失敗返回false
* 其它說明: 說明
*/
function getHttpHeader()
{
$str = '';
foreach ($_SERVER as $key=>$val)
{
$gstr = str_replace("&","&",$val);
$str.= "$key -> ".$gstr."\r\n";
}
Return $str;
}
/**
* 函數名稱: getUA
* 函數功能: 取UA
* 輸入參數: none
* 函數返回值: 成功返回號碼,失敗返回false
* 其它說明: 說明
*/
function getUA()
{
if (isset($_SERVER['HTTP_USER_AGENT']))
{
Return $_SERVER['HTTP_USER_AGENT'];
}
else
{
Return false;
}
}
/**
* 函數名稱: getPhoneType
* 函數功能: 取得手機類型
* 輸入參數: none
* 函數返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function getPhoneType()
{
$ua = $this->getUA();
if($ua!=false)
{
$str = explode(' ',$ua);
Return $str[0];
}
else
{
Return false;
}
}
/**
* 函數名稱: isOpera
* 函數功能: 判斷是否是opera
* 輸入參數: none
* 函數返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function isOpera()
{
$uainfo = $this->getUA();
if (preg_match('/.*Opera.*/i',$uainfo))
{
Return true;
}
else
{
Return false;
}
}
/**
* 函數名稱: isM3gate
* 函數功能: 判斷是否是m3gate
* 輸入參數: none
* 函數返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function isM3gate()
{
$uainfo = $this->getUA();
if (preg_match('/M3Gate/i',$uainfo))
{
Return true;
}
else
{
Return false;
}
}
/**
* 函數名稱: getHttpAccept
* 函數功能: 取得HA
* 輸入參數: none
* 函數返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function getHttpAccept()
{
if (isset($_SERVER['HTTP_ACCEPT']))
{
Return $_SERVER['HTTP_ACCEPT'];
}
else
{
Return false;
}
}
/**
* 函數名稱: getIP
* 函數功能: 取得手機IP
* 輸入參數: none
* 函數返回值: 成功返回string
* 其它說明: 說明
*/
function getIP()
{
$ip=getenv('REMOTE_ADDR');
$ip_ = getenv('HTTP_X_FORWARDED_FOR');
if (($ip_ != "") && ($ip_ != "unknown"))
{
$ip=$ip_;
}
return $ip;
}
}
?>