python获取ip地址(python 获取当前主机ip)

gzcvt.com 阅读:123 2024-04-02 06:22:00 评论:0

Python获取IP地址

简介:

IP地址是网络通信中重要的标识之一,通过IP地址可以定位到网络中的设备。在Python中,有多种方法可以获取IP地址。本文将介绍一些常用的获取IP地址的方法及其使用方式。

一、使用socket库获取IP地址

1. 使用socket库中的gethostname()方法可以获取本机主机名。

2. 使用socket库中的gethostbyname()方法可以根据主机名获取IP地址。

代码示例:

import socket

hostname = socket.gethostname()

ip_address = socket.gethostbyname(hostname)

print("本机IP地址为:", ip_address)

二、使用requests库获取IP地址

1. 使用requests库发送HTTP请求

2. 通过HTTP响应的headers中的'X-Forwarded-For'字段获取IP地址

代码示例:

import requests

response = requests.get('http://httpbin.org/ip')

ip_address = response.json()['origin']

print("本机IP地址为:", ip_address)

三、使用第三方库pygeoip获取IP地址

1. 安装pygeoip库,使用pip install pygeoip命令进行安装。

2. 下载IP地址数据库文件,可以在http://dev.maxmind.com/geoip/geoip2/geolite2/下载最新的IP地址数据库。

3. 使用pygeoip库中的GeoIP方法可以根据IP地址获取地理位置信息。

代码示例:

import pygeoip

gi = pygeoip.GeoIP('GeoLiteCity.dat')

ip_address = '8.8.8.8'

geo_data = gi.record_by_addr(ip_address)

print("IP地址:", ip_address)

print("国家:", geo_data['country_name'])

print("城市:", geo_data['city'])

总结:

本文介绍了使用Python获取IP地址的几种常用方法,包括使用socket库、requests库以及第三方库pygeoip。通过掌握这些方法,可以方便地获取IP地址及其相关信息,对于网络通信和地理位置定位等应用具有重要的意义。

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。