相关文章推荐

这个呢是通过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成功,这个归属地有的时候能获取到杭州市有的时候只能获取到浙江省,这个就不管了。

分类:
前端
标签:
 
推荐文章