这个呢是通过http请求ip
我们在lua中就可以利用这个获取ip地址和归属地
HttpUtils:requestHttp(GameConfig:getIPUrl(), function(result, response) getIPCallback(result, response) end)
function getIPCallback(result, response)
if result == false then
local startPos = string.find(response,"{")
local endPos = string.find(response,"}")
local jsonStr = string.sub(response,startPos,endPos)
local tb = json.decode(jsonStr)
--获取的ip地址
local ip = tb.cip
--获取归属地
local cname = tb.cname
requestHttp 的方法也贴一下吧:
luaPrint(url)
callback = callback or nil;
if responseType == nil then
responseType = "GET";
local xhr = cc.XMLHttpRequest:new()
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING
xhr:open(responseType, url)
local function onReadyStateChanged()
if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then
-- luaPrint("xhr.response ------------ "..xhr.response)
if callback then
callback(true, xhr.response);
luaPrint("xhr.readyState is:", xhr.readyState, "xhr.status is: ",xhr.status)
if callback then
callback(false, xhr.response);
xhr:unregisterScriptHandler()
xhr:registerScriptHandler(onReadyStateChanged)
if data ~= nil and data ~= "" then
xhr:send(data);
xhr:send()
好了,代码都贴出来了,接下我们试一下:
好了,获取ip成功,这个归属地有的时候能获取到杭州市有的时候只能获取到浙江省,这个就不管了。