最近游戏项目中更新机制有所修改,游戏启动时会从cdn上读取一个文件(约60B),但是后台异常收集系统中发现很多玩家请求不了该文件(libcurl的get请求),返回的error code有很多种,以6、22、28、56居多。

 

一直无法确定是否跟程序完全无关(之前遇到过返回error code 23跟程序有关,是程序出bug了),因为有一些玩家反映使用2g/3g网络就正常进入游戏了。

之后我将系统中查询出来的数据,主要是IP,通过调用第三方的接口(其实就是发一条http请求),获得该IP所在地区以及线路,在excel中进行分析。网上有很多这种API,但是我发现还是腾讯提供的IP共享计划最为准确,以IP:117.136.73.74为例

 

http://ip.qq.com/cgi-bin/searchip

 

http://www.baidu.com/s?ie=utf-8&wd=117.136.73.74 

 

新浪 http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=117.136.73.74

 

淘宝 http://ip.taobao.com/service/getIpInfo.php?ip=117.136.73.74

显示:华北 - 北京 移动   云南省/北京  这个差距有点大 - -

 

我获取IP的例子使用的是百度的网址,本想使用腾讯的分享计划,一是它的接口是cgi动态的比较慢,二是它的页面是gbk我抓取回来是乱码,不想搞乱码的问题就直接使用了百度的页面

 

request.get('http://www.baidu.com/s?ie=utf-8&wd=' + ip, {form:{}}, function(error, respose, body) {
    if (/IP地址:&nbsp;([^<]+)<\/span>([^<]+)/.test(body)) {
        //console.log(RegExp["$1"] + '\t' + RegExp['$2']);
        fn(RegExp['$2']);
    }
});
 

IP的准确性的更多相关文章

  1. HTTPDNS开源 Android SDK,赋能更多开发者参与共建

    为赋能更多开发者参与共建,阿里云HTTPDNS开源 Android SDK,iOS SDK也在做开源准备,不久也将开放给开发者.HTTPDNS是阿里云移动研发平台面向多端应用(移动端APP,PC客户端 ...

  2. 常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等

    <script type="text/javascript">/* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929 ...

  3. TCP/IP入门(3) --传输层

    原文:http://blog.csdn.net/zjf280441589/article/category/1854365 传输层的主要功能 1)传输层为应用进程之间提供端到端的逻辑通信(网络层是为主 ...

  4. Cisco IOS IP Service Level Agreementv (IP SLA)

    Responder and Control Protocol 1.Responder内嵌在思科目标路由器中的一个组件,用来对IP SLA请求包做应答,通过对应达包添加时间戳属性,以提高测量计算的准确性 ...

  5. 最新IP地址数据库

    2016年12月1日 最新发行版 265051条数据 基于:国内基于省市区以及运营商 国外基于国家 版本:全球旗舰版  国内精华版 国外拓展版 英文版 掩码版 字段:大洲 国家 省份 城市 县区 运营 ...

  6. 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!

    一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...

  7. TCP/IP四层模型与OSI参考模型

    TCP/IP四层模型: 1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序.计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路. 3.运输层:主要 ...

  8. TCP/IP(三)数据链路层~1

    前言 其实前面一堆讲的物理层的概念,会感觉特别的难理解,因为这是一个非常强大的计算机网络体系的底层知识,没有关系!我们大致了解一下就行了. 一.数据链路层概述 这是百度的简介 看图:理解一下,数据链路 ...

  9. <TCP/IP>ICMP报文的分类

    Internet控制报文协议,即为ICMP(Internet Control Message Protocal),用于主机,路由器之间传递信息,其目的是让我们能够检测网路的连线状况﹐也能确保连线的准确 ...

随机推荐

  1. Java编程的逻辑 (52) - 抽象容器类

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  2. php 会话控制(理解会话控制的概念)

    理解一个概念就需要理解他的背景及产生的原因,这里引入web环境及其http协议. 会话控制产生的背景: http协议是web服务器与客户端相互通信的协议,它是一种无状态协议,所谓无状态,指的是不会维护 ...

  3. 朴素贝叶斯算法--python实现

    朴素贝叶斯算法要理解一下基础:    [朴素:特征条件独立   贝叶斯:基于贝叶斯定理] 1朴素贝叶斯的概念[联合概率分布.先验概率.条件概率**.全概率公式][条件独立性假设.]   极大似然估计 ...

  4. windows镜像

    定制化windows镜像中遇到空格的一些系统目录可以用下面的方式处理 Description Windows XP Directory Windows 7/Vista Directory Enviro ...

  5. jquery获取系统当前时间

    //判断是否在前面加0function getNow(s) { return s < 10 ? '0' + s: s;} var myDate = new Date(); var year=my ...

  6. Code Forces 543A Writing Code

    题目描述 Programmers working on a large project have just received a task to write exactly mm lines of c ...

  7. sql 计算两个经纬度点之间的距离

    这里用到的算法和地球半径等数据均来自网络,此文只作整理记录. 地球半径值采用赤道半径 6378137.0米,这是1980年的国际标准数据. //存储过程 CREATE FUNCTION [f_GetD ...

  8. 编译 php-memcache 扩展时提示Cannot find autoconf

    下载memcache扩展 http://pecl.php.net/package/memcache ,到 /usr/local/src目录下并解压 [root@bogon src]# .tgz [ro ...

  9. CentOS 7下软阵列的创建

    硬阵列和软阵列没有什么可比性,毕竟应用的场景不一样,比如硬阵列性能强劲,有额外的内存支持缓存使其更快,但也有缺点,以硬盘为个数,且如果其中某个硬盘的容量不齐,那么会以最小的容量为准,体现出硬阵列的不灵 ...

  10. Android 内存泄露测试数据处理--procrank,setprop,getprop(转)

    1.Android内存测试常用的几个概念. VSS--virtual set size 虚拟耗用内存(包含共享库占用的内存)RSS--Resident set size实际使用的物理内存(包含共享库占 ...