PHP查询用户IP所在地址

2019年12月10日

原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3042.html
关键词:IP所在地址 IP地址 PHP获取ip地址

相关内容:
获取IP所处位置的Shell代码:https://www.myzhenai.com.cn/post/2917.html
WordPress获取当前浏览用户信息的代码:https://www.myzhenai.com.cn/post/3009.html
PHP不用IP数据库轻松查询IP物理位置的代码:https://www.myzhenai.com.cn/post/1619.html
PHP获取客户浏览器版本 系统版本 IP地址和IP所在国家源代码及例程:https://www.myzhenai.com.cn/post/2242.html

原本以前那个教程我是使用百度来查找IP地址所在位置的,实际上百度也是调用的ip138的接口,但是最近一段时间我发现百度慢慢在改变网页内容了,做了防刷处理,就是请求过多的话它会自动返回一个失败的页面,那么就变成请求失败了。所以我现在改变了调用其他接口的方式。

<?php
function get_ip_address($ip="") {
	$chinaz = "http://ip.tool.chinaz.com/"; /* 指定站长工具获取IP地址的页面地址,后边加上IP就可以了   */
	if ( $ip == "" ){
		$ip = $_SERVER["REMOTE_ADDR"]; /* 获取当前浏览用户地址,显示的是纯ip地址格式   */
	}
	$Source = file_get_contents($chinaz.$ip);  /* 获取网页源码,变量 $Source 即是当前IP地址的网页源码 */

	if ($Source !== ""){
		$aLeft = "WhwtdWrap bor-b1s col-gray03"; /* 第一次搜索的参数变量,第一次以这个为搜索条件,从这个变量开始搜索  */
		$aRight = "clearfix plr10"; /* 第一次搜索的参数变量,搜索到这个变量就停止搜索,截取这中间的字符窜  */
		$Left = strpos($Source,$aLeft,0); /* 左边位置   第一次查询$aLeft*/ 
		$Right = strpos($Source,$aRight,$Left); /* 右边位置 查询右边到*/
		$txit = substr($Source,$Left,$Right-$Left); /* 截取部份文本代码,第一个参数是要处理的字符窜,第二个参数是开始位置,第三个参数是结束位置 [第一次查询]*/
        $Left = strpos($txit,"w50-0",0);/*第二次查询  */
        $Right = strpos($txit,"</",$Left);
        $txiit = substr($txit,$Left,$Right);
        $txit = strip_tags(trim(str_replace("w50-0\">","",$txiit))); /* 替换字符 */
		return $txit;
	}
}
?>


sicnature ---------------------------------------------------------------------
Your current IP address is: 34.204.200.74
Your IP address location: 美国 弗吉尼亚州阿什本amazon数据中心
Your IP address country and region: 美国 美国
Your current browser is:
Your current system is:
Original content, please indicate the source:
同福客栈论坛 | 海南仙岛海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source http://myzhenai.com/post/3042.html

没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注