gpt4 book ai didi

c++ - C++ 的 GeoIP 有这个库吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:23 28 4
gpt4 key购买 nike

我看了又看,但找不到 GeoIP 的 C++ 版本。我知道它有一个 C 版本,但我似乎无法让它与 Micosoft Visual Studio 2012 C++ 一起工作

我试过:

所以,

  1. 是否存在 GeoIPC++ 版本?
  2. 是否有另一个像 C++ 中的 GeoIP 一样对国家/地区进行 IP 处理的库?
  3. 是否有关于如何使用 C++ 使用 GeoIP 的教程?

很抱歉提出所有问题,但我看了又看,似乎找不到解决方案。

最佳答案

聚会迟到了,但我最近为 MaxMind GeoIP 数据库编写了一个 C++ API。我没有在 Windows 下测试它,我只在 Linux 下运行它,但它绝对不是 Linux 特定的。

我将其命名为 GeoLite2++。您可以在这里找到它:https://www.ccoderun.ca/GeoLite2++/api/

Ubuntu 的源码包和 .deb 文件在这里:https://www.ccoderun.ca/GeoLite2PP/download/?C=M;O=D

示例源代码:

#include <GeoLite2PP.hpp>
...
GeoLite2PP::DB db( "/opt/stuff/GeoLite2-City.mmdb" );
std::string json = db.lookup( "216.58.216.163" );
std::cout << json << std::endl;

示例输出:

{
"city" :
{
"names" :
{
"de" : "Mountain View",
"en" : "Mountain View",
...

它包括更多内容,例如获取单个字段与获取整个记录作为 JSON 字符串。

显示如何抓取单个字段的示例:

GeoLite2PP::DB db("GeoLite2-City.mmdb");
std::string city = db.get_field( "65.44.217.6", "en",
GeoLite2PP::VCStr { "city", "names" } );

这里描述了中心类:https://www.ccoderun.ca/GeoLite2++/api/classGeoLite2PP_1_1DB.html

关于c++ - C++ 的 GeoIP 有这个库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631874/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com