`
hanyh
  • 浏览: 235267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ip地址反查python模块编写

阅读更多
通过IP地址反查归属地的python模块
业务逻辑由其它C++模块已经完成了开发。

#include <Python.h>
#include "iplookup.h"


static 	il_db_t _g_db;
ipitem  ip_lookup(const char *query)
{
	const char *encoding = "UTF-8";
	data_type type = text;
	ipitem iphm;
	il_iplookup(query, iphm, _g_db, type, encoding);
	return iphm;
}


static PyObject * wrap_ip_lookup(PyObject *self, PyObject *args)
{
    const char * command;
    
    if (!PyArg_ParseTuple(args, "s", &command))//这句是把python的变量args转换成c的变量command
        return NULL;
    ipitem  iphm = ip_lookup(command);//调用c的函数
    
    return Py_BuildValue("(sssssss)",iphm.country ,iphm.province,iphm.city  ,iphm.district,iphm.isp     , iphm.type    , iphm.desc);
    
//把c的返回值n转换成python的对象
}

 // 3 方法列表
static PyMethodDef IpLocateMethods[] = {
  {"ip_lookup", wrap_ip_lookup, METH_VARARGS, "locate ip address."},
  {NULL, NULL, 0, NULL} 
 };

PyMODINIT_FUNC initiplocate(void)
{
    PyObject *m = Py_InitModule("iplocate", IpLocateMethods);
	const char* db_file = "/opt/iplookup/share/ip.db";
	_g_db = il_open(db_file);
    if (m == NULL) return;
}


编译安装:
g++ -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -I. -I/opt
/python2.6/include/python2.6  -c iplocate.cpp  -o iplocate.o

g++  -Xlinker -export-dynamic  -pthread -shared -Wl,-O1 -Wl libiplookup_la-ip.o
libiplookup_la-iplookup.o libiplookup_la-iconv_ext.o   iplocate.o -o iplocate.so
-I /opt/python2.6/include/python2.6  -I /usr/include/

把生成的模块移到:
/opt/python2.6/lib/python2.6/lib-dynload/
分享到:
评论

相关推荐

    泰达在线IP批量反查URL模块-查询版 v1.0.zip

    泰达在线IP批量反查URL模块-查询版具有批量按IP段反查功能!网上有很多的网站提供的IP反查DNS功能,只是单IP模式,方法简单,且只提供查询使用!适合人群:网警,备案机构,IDC空间商,其他行业的研究者! 泰达...

    泰达在线IP批量反查URL模块 v1.0 查询版

    此模块具有批量按IP段反查功能!网上有很多的网站提供的IP反查DNS功能,只是单IP模式,方法简单,且只提供查询使用!适合人群:网警,备案机构,IDC空间商,其他行业的研究者!案例一:网警想知道某IDC空间提供商所...

    通过webscan ip批量反查域名脚本

    通过webscan ip批量反查域名脚本

    易语言五笔单字反查模块源码

    在这个“易语言五笔单字反查模块源码”中,我们主要探讨的是如何利用易语言来实现五笔字型编码的反查功能。五笔字型是一种广泛使用的汉字输入法,通过拆分汉字为基本的字根来快速输入。反查功能则是输入部分五笔编码...

    IP在线批量查询 泰达在线IP批量反查URL模块 v1.0 查询版

    《泰达在线IP批量反查URL模块 v1.0 查询版》是一款专为网络监控、备案机构和IDC服务商设计的高效工具,旨在提供批量IP反查DNS的解决方案。这款软件能够帮助用户快速、准确地获取指定IP段内的网址信息,从而在网络...

    java根据ip反查省市县地址

    在Java编程中,根据IP地址反查对应的省市县地址是一项常见的需求,这通常涉及到网络编程和地理信息系统(GIS)的应用。下面将详细讲解如何利用Java实现这一功能。 首先,我们需要理解IP地址的基本概念。IP地址是由...

    根据IP地址获取经纬度

    9. **异常处理**:在实际编程中,需要考虑IP地址无效、网络错误、数据库无法访问等情况,因此需要编写适当的异常处理代码。 10. **性能优化**:由于IP查询可能会频繁进行,缓存策略可以提高性能。例如,可以缓存...

    python实现根据ip地址反向查找主机名称的方法

    在使用Python进行网络编程时,经常需要根据IP地址反向查找对应的主机名称。这是一个非常实用的功能,尤其在网络编程、系统管理以及日常开发中常常被用到。Python标准库中提供了这样的功能,可以通过内置模块socket...

    易语言五笔单字反查模块

    在实际应用中,这种模块可以用于各种汉字与五笔编码转换的场景,比如开发汉字输入法、编写文字处理工具,或者进行汉字教学软件的开发。通过对源码的学习和分析,开发者可以更好地理解五笔编码的工作原理,并且可以...

    IP地址大全(qq)

    用户可以通过这个数据库进行IP反查,即从IP地址找到对应的位置信息,这对于网络管理和网络诊断非常有用。 "ShowIP.exe"很可能是一个应用程序,设计用来显示与输入的IP地址相关的信息。当运行这个程序并输入一个IP...

    全球IP地址分配表

    5. **地理位置**:虽然不直接在分配表中列出,但可以通过IP地址反查到大致的地理位置,这在网络安全、数据分析和内容分发等方面非常重要。 6. **用途**:IP地址可能用于公网(全球可达)或私网(仅限内部使用,如...

    Python实现86五笔反查代码

    本文将详细讲解如何使用Python编程语言实现86五笔反查功能。Python因其简洁易读的语法和丰富的库支持,成为处理这种任务的理想选择。要实现86五笔反查,我们需要以下关键步骤: 1. **数据准备**: 首先,我们需要...

    IP地址所属地 - 2016年7月CSV版本

    标题中的“IP地址所属地 - 2016年7月CSV版本”指的是一个数据集,这个数据集包含了2016年7月时全球IP地址与其对应的地理位置信息。CSV(Comma Separated Values)是一种常见的数据存储格式,用于结构化数据的交换,...

    IP反查工具_西安紫微软件工作室开发

    通过IP地址可以查找到IP下绑定的所有域名。 西安紫微软件工作室开发 www.ziweisoft.com www.ziweisoft.cn

    基于Python实现的域名解析、IP反查域名、WHOIS查询、CDN检测、端口扫描、目录扫描、子域名挖掘工具源码

    基于Python实现的域名解析、IP反查域名、WHOIS查询、CDN检测、端口扫描、目录扫描、子域名挖掘工具源码 一.安装说明 1.工具使用python3开发,请确保您的电脑上已经安装了python3环境。 2.工具的端口扫描功能调用了...

    测试IP地址

    3. 地理位置定位:通过IP地址反查地理位置信息,这通常需要调用第三方API,如IP-API、GeoIP等服务。 4. 网络连通性测试:程序可以尝试与特定IP地址建立连接,检查网络可达性,例如使用ping命令或TCP/UDP连接。 5. ...

    IP控制台(php+python)源码

    2. **ipwhois.php**:此文件可能实现了IP反查功能,通过查询WHOIS数据库获取IP的相关信息,如注册机构、地理位置等,这有助于识别潜在的恶意IP。 3. **banIP.php**:根据名称推测,这个文件用于禁止或阻止指定IP...

    全国ip地址sqlserver版本

    2. IP地址解析:理解IPv4或IPv6地址的结构,以及如何使用IP地址反查地理位置信息。 3. 数据库设计:IP地址数据是如何被规范化和组织到数据库表中的,例如,可能有一个表格记录IP段,另一个表格记录对应的地理位置...

    ip反查.zip

    ip反查.zip

    易语言域名反查

    易语言域名反查源码,域名反查,取IP,取IP地址,取中间文本内容,取IP地址_,gethostbyname,WSAStartup,inet_addr,socket,getpeername,Connect,GetDateFormat,GetLocalTime,GetTimeFormat,recv,closesocket,WSACleanup,...

Global site tag (gtag.js) - Google Analytics