reactnative獲取裝置真實ip地址和ip對映的地理位置

jslin_發表於2018-08-27

react-native-device-info 這個元件的最新版本0.22.5 能獲得 手機的ip地址 和mac地址 但是 獲取不了手機的真實ip地址,下面通過另外中方式抓取手機真實ip地址

這裡通過webview的方式獲取的,介面地址http://whois.pconline.com.cn(這個網站的穩定性 不太清楚)

webView相關程式碼 大家可作為參考

<!-- 這裡用的是太平洋電腦的介面 不知道穩定性
getJson({
    "ip":"xxxxxxxxxx",
    "pro":"廣東省",
    "proCode":"440000",
    "city":"深圳市",
    "cityCode":"440300",
    "region":"",
    "regionCode":"0",
    "addr":"廣東省深圳市 移通",
    "regionNames":"",
    "err":""
})
-->

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
</head>

<body>

</body>
<script>
    // (function () {


    // })();
    function getJson(obj) {
        //需要ip地址, IP對映的實體地址  
        var originalPostMessage = window.postMessage;

        var patchedPostMessage = function (message, targetOrigin, transfer) {
            originalPostMessage(message, targetOrigin, transfer);
        };

        patchedPostMessage.toString = function () {
            return String(Object.hasOwnProperty).replace(`hasOwnProperty`, `postMessage`);
        };

        window.postMessage = patchedPostMessage;
        var ObjString = JSON.stringify(obj);
        setTimeout(()=>{
            window.postMessage(ObjString)
        },2000)
     
    }
</script>
<script src="http://whois.pconline.com.cn/ipJson.jsp?callback=getJson"></script>

</html>


相關文章