>  기사  >  웹 프론트엔드  >  IP_javascript 기술을 기반으로 지리적 위치를 얻는 Node.js 및 PHP 방법

IP_javascript 기술을 기반으로 지리적 위치를 얻는 Node.js 및 PHP 방법

WBOY
WBOY원래의
2016-05-16 16:55:441105검색

1. Node.js 구현 코드

코드 복사 코드는 다음과 같습니다.

var http = require( 'http');
var util = require('util');

/**
* IP 기반의 주소정보 획득
*/
var getIpInfo = function(ip, cb) {
var sina_server = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=';
var url = sina_server ip;
http.get(url, function (res) {
var code = res.statusCode;
if (code == 200) {
res.on('data', function(data) {
try {
        cb (null, JSON.parse(data));
                 } 잡기(오류) {                                                    |                    });
}
}).on('오류', function(e) { cb(e) ; });
};

getIpInfo('220.181.111.85' , function(err, msg) {
console.log('city: ' msg.city);
콘솔 .log('msg: ' util.inspect(msg, true, 8));
})

요청 결과:



코드 복사
코드는 다음과 같습니다:도시: 쉬저우{ "ret": 1, "start": "49.68.0.0",
"end": "49.68.255.255",
"country": "China",
"province": "Jiangsu",
"city": "Xuzhou",
" District": "",
"isp": "Telecom",
"type": " ",
"desc": ""
}

2. PHP 구현 code



코드 복사
코드는 다음과 같습니다.$ip = "220.181.111.85";$url = "http://int.dpool.sina.com.cn/ iplookup/iplookup.php?format=json&ip=$ip";
$data = file_get_contents( $url);
$result = json_decode($data);
echo "도시:" . $result- >city . "
";
print_r($result);

?>

요청 결과:



코드 복사
코드는 다음과 같습니다도시: 쉬저우stdClass 객체( [ret] => 1
[start ] => 49.68.0.0
[end] => 49.68.255.255
[국가] => 중국
[성] => 장쑤성
[시] =>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.