`
gegewu0825
  • 浏览: 47443 次
社区版块
存档分类
最新评论

根据ip地址获取相关区域信息

 
阅读更多

<?php
/**
 * 基于淘宝的ipAPI 根据ip地址 返回所在地
 * @author L.D.B
 * 2012/09/12
 */
header("Content-type:text/html; charset=utf-8");
$ip='61.183.248.38';
$url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;
var_dump(curl_rpc($url));

/**
 * file_get_contents 获取信息
 * @param  $url
 */
function get_area_file($url){
	if(empty($url)){
		return false;
	}
	$file=file_get_contents($url);
	return json_decode($file,true);
}


function curl_rpc($url, $request='', $limit = 0, $timeout = 1){
		if (!$url)
			die('url is null');
		$urlarr = parse_url($url);
		$host = $urlarr['host'];
		$path = $urlarr['path'];
		$port = !empty($urlarr['port']) ? $urlarr['port'] : 80;
	
		$len = strlen($request);
		$hander = "POST $path HTTP/1.1\r\n";
		$hander .= "Host: $host:$port\r\n";
		$hander .= "Content-type: application/json\r\n";
		$hander .= "Connection: Close\r\n";
		$hander .= "Content-Length: $len\r\n";
		$hander .= "\r\n";
		$hander .= $request . "\r\n";
		$handerarr[0] = $hander;
	
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url); //The URL to fetch.
		curl_setopt($ch, CURLOPT_HEADER, 0); //TRUE to include the header in the output.
		curl_setopt($ch, CURLOPT_HTTPHEADER, $handerarr); //An array of HTTP header fields to set.
		curl_setopt($ch, CURLOPT_POST, 1); //TRUE to do a regular HTTP POST
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
		curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); //TRUE to return the raw output
		curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //The maximum number of seconds to allow CURL functions to execute.
		$data = curl_exec($ch);
		curl_close($ch);
		return $data;
}



/**
 * 获取当前ip地址
 */
function get_ip(){
	if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
		$ip = getenv('HTTP_CLIENT_IP');
	} elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
		$ip = getenv('HTTP_X_FORWARDED_FOR');
	} elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
		$ip = getenv('REMOTE_ADDR');
	} elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
		$ip = $_SERVER['REMOTE_ADDR'];
	}
	return preg_match('/[\d\.]{7,15}/', $ip, $matches) ? $matches [0] : '';
}
 
分享到:
评论

相关推荐

    根据IP地址获取ip所在区域.rar

    本文将详细讨论如何根据IP地址获取其所在的区域、运营商以及国家等信息,特别是在Java环境中利用淘宝IP地址库进行此类操作。 首先,IP地址是互联网上设备的唯一标识,它分为IPv4和IPv6两种格式。在IPv4中,IP地址由...

    java根据ip获取国家、地区名称,附带ip库

    本篇将详细讲解如何在Java中根据IP地址获取国家和地区信息,并介绍一个附带的IP库。 首先,我们需要明白IP地址与地理位置之间的关联是通过IP库来建立的。IP库通常包含大量的IP段与对应国家、地区的映射关系,以便...

    根据ip获取当前所在区域地址

    这里以`MaxMind GeoIP2`为例,它提供了数据库和API接口,可以快速地根据IP地址查询到国家、地区、城市等信息。 首先,安装`MaxMind GeoIP2`库及其依赖。在SpringBoot项目中,可以通过Maven或Gradle添加依赖。例如,...

    Java获取ip所在地区

    在Java编程中,我们有时需要获取一个IP地址所对应的具体地理位置,例如省份、城市等信息。这通常需要借助特定的IP数据库,如“纯真IP数据库”(QQWry.Dat),它包含了大量IP地址及其地理位置的映射关系。本文将详细...

    获取指定ip地址区域信息(c)

    在IT行业中,获取IP地址对应的区域信息是一项常见的需求,特别是在网络监控、数据分析或者地理位置服务等领域。这个主题主要涉及了如何使用C语言来实现IP到地理位置的转换,特别是针对标题和描述中提到的“搜索IP...

    根据ip地址获取城市地理位置

    1、location.html 在浏览器中打开页面,即可获取您当前的ip地址,和所在城市,以及城市地理位置编码。(以国家统计局为准) ... 放在web项目中,可获取访问用户的ip地址,所在城市,和所在城市区域编码。

    java开发基于百度API,淘宝API和腾讯IP库(qqwry.dat),通过IP获取区域城市位置,经纬度获取城市地址,城市地址获取经纬度等信息实例

    通过地址获取经纬度,c.通过外网IP获取地址详细信息等;(具体信息有:经纬度,ISP,区域编码,区域名称,城市名称,省份名称) 2.淘宝API测试示例是通过IP获取地址,同上,但是没有经纬度的; 3.腾讯qqwry.dat是支持...

    java根据ip地址获取详细地域信息的方法

    在互联网技术中,根据IP地址获取用户的地理位置是一个常见的需求。例如,网站可能需要根据访问者的IP来提供地区性的服务或内容。Java作为广泛使用的编程语言,提供了多种方法实现通过IP地址查询地理位置信息。 首先...

    获取IP地址与MAC地址对应关系实验报告1

    ARP(Address Resolution Protocol,地址解析协议)是根据网络层的 IP 地址来获取数据链路层的 MAC 地址的一个关键协议。 在以太网环境中,IP 地址用于标识网络中的节点,而 MAC 地址则是物理网络接口的唯一标识。...

    java根据IP获取城市代码

    在IT行业中,我们经常需要根据用户的IP地址获取其所在的城市信息,这在提供个性化服务、数据分析、网络安全等领域具有重要作用。Java作为一种广泛使用的编程语言,提供了多种方法来实现这个功能。这篇博客“java根据...

    获取ip地址信息

    在实际应用中,IP地址信息的获取往往与网络编程、数据分析、网络安全紧密相关。例如,在网络爬虫中,我们需要知道目标网站的服务器位置,以便选择最佳的代理IP;在网络安全监控中,分析IP来源可以识别潜在的攻击行为...

    C# .net 如何根据访问者IP获取所在地区【初学者的 精华】

    在C# .NET编程环境中,获取用户访问者的IP地址并进一步确定其所在地区是一项常见的需求,这在构建网站、分析用户行为或者实现地理定位服务时非常有用。本教程将指导初学者如何通过C# .NET实现这一功能,利用QQ纯真IP...

    IP地址查询区域源代码

    标题中的“IP地址查询区域源代码”指的是一个程序或服务,它允许用户通过输入IP地址来获取该IP对应的位置信息。这种技术在互联网上广泛应用于网站统计、网络安全分析以及个性化用户体验等多个领域。IP地址通常分为...

    Python脚本项目源码-根据IP地址查对应的地理信息

    总的来说,这个Python脚本项目提供了从IP地址获取地理信息的功能,这涉及到网络编程、API调用、数据解析以及可能的数据库操作等多方面技术。开发者需要具备Python基础、网络知识以及对IP定位服务的理解,才能成功...

    java 获取 IP 地址

    在Java编程语言中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个程序虽然界面简单,但核心功能强大,它能够帮助开发者获取指定域名对应的IP地址。以下是关于这个话题的一些详细知识点: 1. *...

    magento 根据IP地址自动切换货币

    获取到IP地址后,我们可以使用GeoIP库或类似服务来解析IP地址并获取地理位置信息,包括对应的国家代码。 接下来,我们需要在Magento的配置中设置各国与对应货币的关联。这通常在系统设置的“配置”&gt;“General”&gt;...

    获取ip和地址的项目

    归属地则指IP地址所属的地理区域,包括国家、地区、城市等信息。获取IP地址的归属地有助于了解用户的位置,对服务进行地域定向,或者进行网络流量分析。 项目中的接口方法可能是通过调用第三方API或者使用公开的IP...

    php 获取ip所在区域实例

    通过这种方式,PHP可以用来获取并显示用户的IP地址所对应的城市和区域信息。当然,实际的`IpLocation.class.php` 和`UTFWry.dat` 文件可能更为复杂,包含更多的错误处理和优化。同时,需要注意的是,IP到地理位置的...

    获取指定IP的区域位置 java代码

    根据IP地址获取详细的地域信息 获取指定IP的区域位置 java代码

Global site tag (gtag.js) - Google Analytics