ip获取所在城市名称等信息接口,及函数

函数:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

function https_request($url,$data = null){

    $curl = curl_init();

    

    curl_setopt($curl,CURLOPT_URL,$url);

    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

    curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);

    

    if(!empty($data)){//如果有数据传入数据

        curl_setopt($curl,CURLOPT_POST,1);//CURLOPT_POST 模拟post请求

        curl_setopt($curl,CURLOPT_POSTFIELDS,$data);//传入数据

    }

    

    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

    $output = curl_exec($curl);

    curl_close($curl);

    

    return $output;

}

// 获取ip

function GetIp(){

    $realip ‘‘;

    $unknown ‘unknown‘;

    if (isset($_SERVER)){

        if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘]) && !empty($_SERVER[‘HTTP_X_FORWARDED_FOR‘]) && strcasecmp($_SERVER[‘HTTP_X_FORWARDED_FOR‘], $unknown)){

            $arr explode(‘,‘$_SERVER[‘HTTP_X_FORWARDED_FOR‘]);

            foreach($arr as $ip){

                $ip = trim($ip);

                if ($ip != ‘unknown‘){

                    $realip $ip;

                    break;

                }

            }

        }else if(isset($_SERVER[‘HTTP_CLIENT_IP‘]) && !empty($_SERVER[‘HTTP_CLIENT_IP‘]) && strcasecmp($_SERVER[‘HTTP_CLIENT_IP‘], $unknown)){

            $realip $_SERVER[‘HTTP_CLIENT_IP‘];

        }else if(isset($_SERVER[‘REMOTE_ADDR‘]) && !empty($_SERVER[‘REMOTE_ADDR‘]) && strcasecmp($_SERVER[‘REMOTE_ADDR‘], $unknown)){

            $realip $_SERVER[‘REMOTE_ADDR‘];

        }else{

            $realip $unknown;

        }

    }else{

        if(getenv(‘HTTP_X_FORWARDED_FOR‘) && strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR‘), $unknown)){

            $realip getenv("HTTP_X_FORWARDED_FOR");

        }else if(getenv(‘HTTP_CLIENT_IP‘) && strcasecmp(getenv(‘HTTP_CLIENT_IP‘), $unknown)){

            $realip getenv("HTTP_CLIENT_IP");

        }else if(getenv(‘REMOTE_ADDR‘) && strcasecmp(getenv(‘REMOTE_ADDR‘), $unknown)){

                $realip getenv("REMOTE_ADDR");

        }else{

            $realip $unknown;

        }

    }

    $realip = preg_match("/[\d\.]{7,15}/"$realip$matches) ? $matches[0] : $unknown;

    return $realip;

}

淘宝接口:


1

2

3

4

5

6

7

8

9

10

11

12

13

function get_area($ip ‘‘){

    if($ip == ‘‘){

        $ip = GetIp();

    }

    $url "http://ip.taobao.com/service/getIpInfo.php?ip={$ip}";

    $ret = https_request($url);

    $arr = json_decode($ret,true);

    return $arr;

}

echo "<pre>";

print_r(get_area(‘223.67.235.28‘));

echo "</pre>";

新浪接口:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

//根据ip获取所在城市名称

function GetIpLookup($ip ‘‘){

    if(empty($ip)){

        $ip = GetIp();

    }

    $res = @file_get_contents(‘http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=‘ $ip);//新浪的开放API

    if(empty($res)){ return false; }

    $jsonMatches array();

    preg_match(‘#\{.+?\}#‘$res$jsonMatches);

    if(!isset($jsonMatches[0])){ return false; }

    $json = json_decode($jsonMatches[0], true);

    if(isset($json[‘ret‘]) && $json[‘ret‘] == 1){

        $json[‘ip‘] = $ip;

        unset($json[‘ret‘]);

    }else{

        return false;

    }

    return $json;

}

echo ‘<pre>‘;

// 输出城市等信息

$ipInfos = GetIpLookup(‘123.125.114.144‘); //baidu.com IP地址

var_dump($ipInfos);

// 输出本地地址

echo GetIp();

时间: 2024-10-12 15:48:48

ip获取所在城市名称等信息接口,及函数的相关文章

php 通过ip获取所在城市地址信息 获取计算机外网ip

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市

百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9,其中ak是密钥,自行去申请即可,便于大家测试,楼主就公布并了自己的Key,这样可以直接获取到数据. 获取到的数据是这样的: {"error":0,"status":"success","date"

根据访问IP获取所在城市并绑定下拉列表

JS调用 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cityselect.js"></script> <script type="text/javascript" src="h

js根据ip地址获取所在城市

话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns=""> <head runat="server"> <title>根据IP地址获取所在城市</title> <scriptsrc="?format=js"type="text/ecmascript"></script> <script type="text/jav

js通过IP地址获取所在城市

话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>根据IP地址获取所在城市</title> <scriptsrc="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"type

PHP 根据IP地址获取所在城市

有这样的需求,需要根据用户的IP地址,定位用户所在的城市. 本文记录性文章,无逻辑性.有这样需求的朋友,可以直接拷贝使用.直接上代码,不需赘述. <?php header('Content-Type:text/html;Charset=utf-8'); function GetIp(){ $realip = ''; $unknown = 'unknown'; if (isset($_SERVER)){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&

IOS-根据ip获取当前城市的编号

IOS 通过ip地址获取当前城市的编号 //解析网址通过ip 获取城市天气代码    NSURL *url = [NSURL URLWithString:@"http://61.4.185.48:81/g/"];        //    定义一个NSError对象,用于捕获错误信息    NSError *error;    NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8Stri

C# .net 如何根据访问者IP获取所在地区

第一步:在根目录添加新项(类),新建一个类文件,把以下文件粘贴到该类文件下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Diagnostics; public class RedirectMode { public static readonly int Mode_1 = 1; public static re

ios项目开发(天气预报项目):通过经纬度获取当前城市名称

 1 . 在项目里添加 CoreLocation.framework 2 .在 .h 文件输入如下: 1.#import <CoreLocation/CLLocation.h> 2.#import <CoreLocation/CLLocationManager.h> 3.#import <coreLocation/CLGeocoder.h> 4.#import <coreLocation/CLPlacemark.h> 3 . 在 .m文件输入如下: 1.