前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >公网私网IP地址判断

公网私网IP地址判断

作者头像
Qt君
发布2023-03-17 13:44:39
3.6K0
发布2023-03-17 13:44:39
举报
文章被收录于专栏:跟Qt君学编程

因为今天做的一个项目有个需求是判断某个地址是否为公网或私网IP,所以简简单单写了下面方法。可能会有问题,大家多多指教咯。

代码语言:javascript
复制
/** 
 * 10.0.0.0    - 10.255.255.255
 * 172.16.0.0  - 172.31.255.255
 * 192.168.0.0 - 192.168.255.255
 */ 
static bool is_private_address(QString ip)
{
    uint32_t address = QHostAddress(ip).toIPv4Address();

    uint32_t check1 = (10 << 24);                // 0x0a000000
    uint32_t check2 = (172 << 24) + (16 << 16);  // 0xac100000
    uint32_t check3 = (192 << 24) + (168 << 16); // 0xc0a80000

    /* 10.0.0.0 - 10.255.255.255 */
    if ((address & 0x0f000000) == check1)
        return true;

    /* 172.16.0.0 - 172.31.255.255 */
    if ((address & 0xfff00000) == check2)
        return true;

    /* 192.168.0.0 - 192.168.255.255 */
    if ((address & 0xffff0000) == check3)
        return true;

    return false;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档