欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python驗(yàn)證公網(wǎng)ip與內(nèi)網(wǎng)ip的實(shí)現(xiàn)示例

 更新時(shí)間:2023年07月07日 15:50:42   作者:卑微阿文  
本文主要介紹了python驗(yàn)證公網(wǎng)ip與內(nèi)網(wǎng)ip的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

公網(wǎng)IP和內(nèi)網(wǎng)IP都是用于標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備的地址,但它們有著不同的作用和特點(diǎn)。

公網(wǎng)IP是由互聯(lián)網(wǎng)服務(wù)提供商(ISP)分配給用戶設(shè)備的唯一標(biāo)識(shí)符。它是全球范圍內(nèi)唯一的,并且可以被其他網(wǎng)絡(luò)設(shè)備使用來尋找和連接特定的設(shè)備。公網(wǎng)IP通常用于連接到互聯(lián)網(wǎng),允許用戶訪問全球范圍內(nèi)的網(wǎng)絡(luò)資源。

內(nèi)網(wǎng)IP是指在私有網(wǎng)絡(luò)中使用的IP地址。一個(gè)內(nèi)網(wǎng)可以是一個(gè)公司、學(xué)?;蚣彝ゾW(wǎng)絡(luò)。在內(nèi)網(wǎng)中,設(shè)備通常使用私有IP地址,這些地址無法從公共互聯(lián)網(wǎng)中訪問到。內(nèi)網(wǎng)IP地址通過路由器轉(zhuǎn)發(fā)到公網(wǎng),從而實(shí)現(xiàn)對互聯(lián)網(wǎng)的訪問。

Python作為一種解釋型語言,可以方便地操作網(wǎng)絡(luò)接口,支持使用Socket API訪問網(wǎng)絡(luò)資源。下面將通過Python舉例說明如何驗(yàn)證公網(wǎng)IP和內(nèi)網(wǎng)IP。

驗(yàn)證公網(wǎng)IP地址

Python中驗(yàn)證公網(wǎng)IP地址的方法主要是通過訪問指定的網(wǎng)站或使用Python庫中的特定模塊來獲取當(dāng)前系統(tǒng)的公網(wǎng)IP地址。

1.使用urllib庫訪問百度

import urllib.request
def get_public_ip(): data = urllib.request.urlopen('http://www.baidu.com/s?wd=ip').read() data = data.decode('UTF-8') start = data.find('您的IP地址是') if start == -1: return False start += 7 end = data.find('&', start) if end == -1: return False return data[start:end]
print(get_public_ip())

2.使用requests庫

import requests
def get_public_ip(): url = 'https://api.ipify.org' response = requests.get(url) return response.text.strip()
print(get_public_ip())

驗(yàn)證內(nèi)網(wǎng)IP地址

Python中驗(yàn)證內(nèi)網(wǎng)IP地址的方法也比較簡單,可以通過獲取本地網(wǎng)絡(luò)設(shè)置信息或使用Python標(biāo)準(zhǔn)庫中的socket模塊來獲取。

1.使用socket模塊

import socket
def get_local_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip_address = s.getsockname()[0] s.close() return ip_address
print(get_local_ip())

2.使用psutil庫

import psutil
def get_local_ip(): addrs = psutil.net_if_addrs() for interface_name, interface_addresses in addrs.items(): for address in interface_addresses: if str(address.family) == 'AddressFamily.AF_INET': return address.address
print(get_local_ip())

總結(jié)

通過以上代碼,我們可以輕松地驗(yàn)證公網(wǎng)IP地址和內(nèi)網(wǎng)IP地址。需要注意的是,公網(wǎng)IP地址是唯一的,因?yàn)樗怯蒊SP分配的,而內(nèi)網(wǎng)IP地址在本地網(wǎng)絡(luò)中是唯一的,但在全球范圍內(nèi)并不唯一。因此,在編寫代碼時(shí)需要考慮不同的使用場景。

到此這篇關(guān)于python驗(yàn)證公網(wǎng)ip與內(nèi)網(wǎng)ip的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python驗(yàn)證公網(wǎng)ip與內(nèi)網(wǎng)ip內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論