当前位置:首页 » 编程语言 » php取外网ip

php取外网ip

发布时间: 2023-01-30 08:06:03

1. 在项目中获取外网IP以及IP所在地等信息

接口地址: http://ip.taobao.com/service/getIpInfo.php
传递参数: ip:要查询的IP地址
参数传递方式: GET/POST
返回类型: json
返回值:

备注:本接口来自 淘宝IP地址库

这个玩法很多,官网介绍也很详细☞ 传送门

接口地址: http://pv.sohu.com/cityjson
传递参数: ie:编码(默认为GBK)
参数传递方式: GET
返回类型:js
返回值:
cip:本机IP地址
cid:城市编号
cname:城市名称
请求示例: Request URL: http://pv.sohu.com/cityjson?ie=utf-8
返回示例: { "cip": "115.159.152.220", "cid": "410100", "cname": "广州市"}

接口地址: http://int.dpool.sina.com.cn/iplookup/iplookup.php
传递参数:
format:数据返回格式
ip:欲查询的IP(空则查询本机)
参数传递方式: GET
返回类型: js/json
返回值:
country:国名
province:省份
city:城市名

2. PHP如何获取服务器外网IP

1.关于外网IP变更问题,如果你手头上有 IP资源,建议绑定。就是你申请的静态IP。
2.如果自己没有静态IP,那么如果你有域名,可以通过 花生壳这些软件,绑定自己的服务器。这样就算IP怎样变化,直接访问域名就可以了。
2.1.花生壳带有一些二级域名的,功能也差不多。
-----------------------------------

另外,可以写一个功能cURL,让你的服务器定期访问一个站点(私有站点,要权限进入),这个站点你可以获取访问者的IP。

3. 请问一下php的pdo获取公网ip关掉电脑又开电脑为什么ip又不同了

你没有告知你的服务器网络状况。
如果是在正规服务商(比如腾讯云,阿里云等)购买的(虚拟)服务器,一般会有绑定的公网IP,关闭服务器后再打开是相同的。
如果你的服务器是在自己家(或者宿舍)的内部网络,那么对应的公网ip就要看提供网络的运营商了,大部分运营商提供的网络每次拨号(或者登录)后获得的公网ip是不同的,甚至有时使用ip网站查询到你电脑的公网ip地址也无法链接到内网你的服务器上。这种情况下具体解决方案你就要研究内网的路由设置了。

4. php如何获得访问局域网内的服务器的用户的真实ip,即外网ip。

/**
* 获取客户端IP地址
*/
static public function getClientIP() {
static $ip = NULL;
if ( $ip !== NULL )
return $ip;
if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$arr = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
$pos = array_search( 'unknown', $arr );
if ( false !== $pos )
unset( $arr[$pos] );
$ip = trim( $arr[0] );
} elseif ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$ip = ( false !== ip2long( $ip ) ) ? $ip : '';
return $ip;
}

5. PHP如何获取外网IP地址,类似于百度查询到的IP,网上的方法,查询到的都是局域网(内网)的IP,

发一个函数给你.

/**
*获取客户端IP地址
*@paraminteger$type返回类型0返回IP地址1返回IPV4地址数字
*@paramboolean$adv是否进行高级模式获取(有可能被伪装)
*@returnmixed
*/
functionget_client_ip($type=0,$adv=false){
$type=$type?1:0;
static$ip=NULL;
if($ip!==NULL)return$ip[$type];
if($adv){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$arr=explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$pos=array_search('unknown',$arr);
if(false!==$pos)unset($arr[$pos]);
$ip=trim($arr[0]);
}elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}elseif(isset($_SERVER['REMOTE_ADDR'])){
$ip=$_SERVER['REMOTE_ADDR'];
}
}elseif(isset($_SERVER['REMOTE_ADDR'])){
$ip=$_SERVER['REMOTE_ADDR'];
}
//IP地址合法验证
$long=sprintf("%u",ip2long($ip));
$ip=$long?array($ip,$long):array('0.0.0.0',0);
return$ip[$type];
}

如果是本地测试的话,获取到的是127.0.0.1

6. PHP获取客户端外网ip代码

function get_real_ip()
{
$ip=FALSE;
//客户端IP 或 NONE
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
//多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
//客户端IP 或 (最后一个)代理服务器 IP
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

7. php到底怎么获取IP地址,为什么三种方法获取的IP都不一样

你电脑接了路由器,127.0.0.1是本地回环地址,网上测试那个是公网IP地址,本机做服务器,服务器地址就是127.0.0.1

8. php怎么获取公网ip和内网ip

$ip=$_SERVER["REMOTE_ADDR"];
SetCookie("ip","$ip");
$ip==isset($_COOKIE['ip']);
我这个得到的是外网IP

$ip=$_SERVER["REMOTE_ADDR"];
if(in_array(strtok($i, '.'), array('10', '127', '168', '192')))
echo '内网';

内网A类网段只开列了常见的部分,其余的你自己增减

9. php获取客户端外网ip

//试试这个

functiongetip(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip=$_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip=$_SERVER["REMOTE_ADDR"];
}
else{
$cip='';
}
preg_match("/[d.]{7,15}/",$cip,$cips);
$cip=isset($cips[0])?$cips[0]:'unknown';
unset($cips);
return$cip;
}

10. 使用php怎么显示外网ip,要把php文件放到哪个路径下啊

获取客户端(即访问用户)的IP
function getip() {
$unknown = 'unknown';
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR'])
&& $_SERVER['HTTP_X_FORWARDED_FOR']
&& strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'],
$unknown) ) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif ( isset($_SERVER['REMOTE_ADDR'])
&& $_SERVER['REMOTE_ADDR'] &&
strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {
$ip = $_SERVER['REMOTE_ADDR'];
}

在要显示的页面的位置echo getip();
获取客户端IP的方法有很多,如果你只是要显示IP,容易些。如果你还要根据IP获取所在城市(例如:112.221.108.xxx来自上海xx)之类的。那就需要另外再处理。
自己加载IP库不现实,不准还难得更新。所以一般都用网上的接口,taobao的比较稳定

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:582
制作脚本网站 发布:2025-10-20 08:17:34 浏览:876
python中的init方法 发布:2025-10-20 08:17:33 浏览:571
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:757
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:673
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1000
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:244
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:103
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:795
python股票数据获取 发布:2025-10-20 07:39:44 浏览:701