自定义Nginx日志格式获取IP地址的省市份信息

注:图片如果损坏,点击文章链接:
https://www.toutiao.com/i6806672112477012493/

在linux中nginx日志产生的格式是下面的配置:

$remote_addr^A$msec^A$http_host^A$request_uri

然后准备好了获取的日志数据

创建工程编写代码:

创建执行类和方法

基本结构

创建一个日期处理的工具类

完成简单的IP和时间存放

判断请求参数,利用?判断

如果请求的日志信息拿不到 也没有必要获取其它信息了

将请求信息获取的处理方法

网上有很多纯真IP地址数据库qqwry.dat解析的内容,我们利用下获取IP对应的地址

首先准备一个类IPSeeker(网上很多,可以直接下载下来)

再编写一个类,继承IPSeeker,编写一个单例

准备一个区域信息的类,注意生成get/set方法

QqwryIp添加解析IP地址的方法

完成基本结构

默认设置

处理省份信息

单独省份的处理信息,先示例一部分,简单处理

内蒙古

新疆、广西等地

天津、北京等地

香港、澳门等地和其它地区

可以补起数据处理的部分了handlerLogText方法

编写主方法,读取文件的内容主要部分

执行结果,这样就获取了文本中的日志信息

原文地址:https://www.cnblogs.com/bqwzy/p/12543119.html

时间: 2024-11-05 17:46:02

自定义Nginx日志格式获取IP地址的省市份信息的相关文章

Nginx日志格式以及相关配置

一.Nginx日志格式以及参数说明log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for&

自动获取IP地址的命令是什么?您知道在什么情况下,您的Linux才可以自动获取IP地址?

1. 自动获取IP地址的命令是什么?您知道在什么情况下,您的Linux才可以自动获取IP地址? 答:(1) Linux中使用 dhclient 命令可以从DHCP服务器上获得一个可用的IP地址 (2)首先,需要激活网卡eth0:其次,如果linux是虚拟机,那么还需要设置虚拟机的网络是桥接 模式或者NAT模式,桥接模式必须在网络管理员允许分配IP的情况下自动获得IP地址才能成功: NAT模式一般都能成功:最后,可以配置eth0的配置文件/etc/sysconfig/network-scripts

【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地

本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得到客户端的ip,并获取利用新浪api接口获取此ip的归属地. 可以看到,在IE6也是相当正常的. 目录结构如下,非常简单,同样就两个文件,其实如果你愿意,写成一个php文件也可以,但是显示层和逻辑业务层还是不混在一起为好吧? 唯一值得注意的是,这两个文件打死也不能一个叫ipGet.php,ipGet.html

php获取ip地址所在的地理位置的实现

1,通过腾讯或者新浪提供的接口来获取(新浪和腾讯类似) <?php    function getIPLocation($queryIP){     $url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP; //如果是新浪,这里的URL是:'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;     $ch = curl

Yii常用URL及获取IP地址

当前页面:Yii::app()->request->url;跳转前一个页面:$this->redirect(Yii::app()->request->urlReferrer);根目录URL:Yii::app()->baseUrl 或 Yii::app()->request->baseUrl;自定义URL:$this->createUrl(‘post/read’,array(‘id’=>100)) 或 Yii::app()->createUr

linux中配合IS-IS搭建DHCP服务让客户机自动获取IP地址

实验目的:首先是配置上次发表IS-IS的部分配置过程,然后结合两台linux虚拟机,一台DHCP服务器,一台客户机,让客户机自动获取IP,使用DHCP给他保留的特定的IP地址,然后测试能够和另外一台添加的PC机互联互通. 实验过程:首先配置路由器的IP地址和IS-IS协议.RIP协议.并设置路由重分发. 然后配置linux-1的DHCP服务器以及配置文件. 然后配置linux-2的网卡参数为自动获取IP地址. 最后使用VPCS配置C1的IP地址测试和linux-2客户机的互通性.下面是详细过程.

获取IP地址

获取本地计算机的IP地址 关键点 WSAStartup The Windows Sockets WSAStartup function initiates use of Ws2_32.dll by a process. int WSAStartup( WORDwVersionRequested, LPWSADATAlpWSAData ); 实现过程 #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") char* 

ARM-Linux配置DHCP自动获取IP地址

备注:内核版本:2.6.30.9busybox版本:1.15.2 PC Linux和开发板Linux的工作用户:root 1. 配置内核:[*] Networking support --->Networking options ---><*> Packet socket<*> Unix domain sockets[*] TCP/IP networking[*] IP: kernel level autoconfiguration[*] IP: DHCP suppor

DHCP获取IP地址过程中捕获的报文—三级网络总结(二)

上一篇文章主要说了一下知识点中的IP地址的考点,这一篇我打算说说DHCP获取IP地址过程中捕获的报文的这个考点,都是自己的理解,有错误欢迎指正. DHCP是应用层协议,UDP是传输层协议,IP是网络层协议,以太网是链路层协议.数据在网络上传输的时候要自顶向下逐层封装的,典型的DHCP过程是这样的: 1:客户机向服务器发送DHCP_DISCOVER报文,申请IP. 2:服务器向客户机返会DHCP_OFFER报文,指定一个将要分配的IP. 3:客户机向服务器发送DHCP_REQUEST报文,请求这个