2022年1月

Python 获取url的连通性

管理多个站点列表的时候,由于很多站点都绑定了多个域名,以前想要查看每个网址的连通性,就需要复制网址到浏览器中打开,为了方便快捷判断,现通过Python的requests模块,对网址进行访问,通过返回的状态大致判定所给链接是否可以正常访问。代码如下:

#-*- coding:utf-8 -*-
import requests

url = "http://www.example.com/"

headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55"}
try:
    response= requests.get(url, headers=headers, timeout=5).status_code
    print(response)
    if response == 200:
        print('可打开')
    else:
        print(response)
except Exception as e:
    print(e)

Python 获取域名解析的IP,包括IPv6

随着网络的发展,IPv4逐渐枯竭,IPv6随之诞生。但因为各种原因,IPv6始终没能全面普及。我们国家这几年在花大力气进行IPv6的普及工作,而且已经取得了不错的成效。那么怎样才能知道一个域名有没有解析IPv6的地址呢?
如果是通过命令的话,使用ping可以知道IPv4地址,使用ping6命令可以查出IPv6地址。
如果是通过Python脚本,则需要使用如下方法:

# 获取IPv4地址
ip = socket.gethostbyname("www.baidu.com")

# 获取IPv6地址,getaddrinfo结果返回的是元组
ip = socket.getaddrinfo(str(url), None, socket.AF_INET6)[0][4][0]