import requests
from bs4 import BeautifulSoup
class r_url(object):
# 初始化
def __init__(self, domain_name):
self.domain_name = domain_name
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/84.0.4147.105 Safari/537.36"}
# 请求网址,并返回headers值
def get_url(self):
if self.domain_name != '': # 如果域名不为空
if "http://" not in self.domain_name: # 如果http://不在域名中
self.domain_name = "http://" + self.domain_name
if "https://" in self.domain_name:
self.domain_name = "https://" + self.domain_name.replace("http://", "").replace("https://", "")
try:
r = requests.get(self.domain_name, headers=self.headers, timeout=3) # 请求域名
result = str(r.status_code) # 结果为请求返回的状态码
except requests.exceptions.ConnectTimeout: # 异常处理
result = "ConnectTimeout"
except requests.exceptions.ConnectionError:
result = "ConnectionError"
except requests.exceptions.MissingSchema:
result = "MissingSchema"
except requests.exceptions.InvalidURL:
result = "InvalidURL"
except requests.exceptions.ReadTimeout:
result = "ReadTimeout"
if result == "200": # 如果状态码为200
print("请求成功:200\n%s" % r.headers) # 打印headers
else:
print("请求失败:%s" % result) # 否则显示失败
elif self.domain_name == '': # 如果域名为空
print("域名为空")
if __name__ == '__main__': # 如果直接运行执行以下代码,如果导入到其他python文件运行,则不执行以下代码
while True:
address = input("输入域名: ") # 输入域名
obj = r_url(address) # 对象实例化
obj.get_url() # 调用函数
网络资源共享群:695650348