用python来获取Github IP地址

'''
Title: 快速获Github网站的IP地址
Author: JackieZheng
Date: 2022-01-20 19:37:35
LastEditTime: 2022-01-22 09:14:49
LastEditors: Please set LastEditors
Description:
FilePath: \\vsTemp\\gitdns.py
'''
import os
import sys
import re
import shutil
import requestshosts_datas=[]
git_ip = []def getip(website:str):"""# 获取IP地址"""request = requests.get('https://ipaddress.com/website/'+website)if request.status_code == 200:ips=re.findall(r"<strong>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}?)</strong>",request.text)for ip_item in ips:git_ip.append(ip_item+' '+website)getip('github.com')
getip('assets-cdn.github.com')
getip('github.global.ssl.fastly.net')hosts_dir=r'C:\Windows\System32\drivers\etc'
orign_hosts=os.path.join(hosts_dir,'hosts')
temp_hosts=os.path.join(sys.path[0],'hosts')# 读取原来hosts内容
with open(orign_hosts,'r',encoding='utf-8') as orign_file:datas = orign_file.readlines()# 复制hosts内容
hosts_datas=datas.copy()# 删除原来github相关内容
for data in datas:if 'github' in data or data=='\n':hosts_datas.remove(data)# 合并生成新hosts内容
hosts_datas.extend(git_ip)# 生成临时hosts文件
with open(temp_hosts,'w') as temp_file:for host in hosts_datas:temp_file.writelines(host+'\n')# 打开系统hosts目录
os.system("explorer.exe %s" % hosts_dir)try:# 备份 覆盖 系统hosts文件shutil.move(orign_hosts,orign_hosts+'.bak')shutil.copy(temp_hosts,orign_hosts)INFOR_0="hosts文件已更新成功"print(INFOR_0)
except:INFOR_1="已经生成新hosts文件:"+temp_hostsINFOR_2="请手工复制覆盖原系统hosts文件"print(INFOR_1,INFOR_2,sep = '\n')INFOR_3="修改完后继续 执行 清理DNS缓存(ipconfig/flushdns) "
print(INFOR_3)os.system('pause')# 刷新dns缓存
os.system('ipconfig/flushdns')os.system('pause')

https://github.com/JackieZheng/Github-HOSTSicon-default.png?t=M0H8https://github.com/JackieZheng/Github-HOSTS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DNS原理及其解析过程【精彩剖析】

DNS原理及其解析过程精彩剖析原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/812889网络通讯大部分是基于TCP/IP的&#xff0c;而TCP/IP是基于IP地址的&am…

sybase sp_procxmode简述

今天整合存储过程的脚本时&#xff0c;看到如下语句&#xff1a; sp_procxmode P_InitTaskByCond, anymodeGO 于是查询了一下【sp_procxmode】 的一些简单介绍&#xff0c;进行记录一下&#xff1a;整理中 https://www.google.com.hk/search?newwindow1&safestrict&si…

基于Kubernetes v1.24.0的集群搭建(二)

上一篇文章主要是介绍了&#xff0c;每台虚拟机的环境配置。接下来我们开始有关K8S的相关部署。另外补充一下上一篇文章中的K8S的changelog链接&#xff1a;https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md1 配置yum源 所有节点都需要执行此…

[转]Python 获取Windows管理员权限

最近在写一个可以自动更换 hosts 的 python 脚本&#xff0c;但是操作 hosts 需要管理员权限 &#xff0c;所以就想着要怎么获取。 总结了一下&#xff0c;有三种方法可以获取&#xff0c;下面分别介绍一下。 1. 以管理员运行 cmd 这个方法很简单&#xff0c;也无需多说&#x…

JavaScript中的一些特殊用法(一)

为什么80%的码农都做不了架构师&#xff1f;>>> 1. 不使用script自闭合标签 script中使用自闭合标签&#xff0c;虽然他在XHTML中合法&#xff0c;但是不符合HTML规范&#xff0c;而且得不到某些浏览器的正确解析。我曾经就在引入EXT时使用此方式&#xff0c;导致无…

SPICE简史

如今每一天都有不知其数的半导体芯片设计公司与设计验证工程师&#xff0c;在用着电路仿真软件SPICE。SPICE广泛应用在仿真模拟电路&#xff08;例如运放Op Amp&#xff0c;能隙基准稳压电源Bandgap Reference&#xff0c;数模/模数转换 AD/DA等&#xff09;&#xff0c;混合信…

【GlobalMapper精品教程】003:影像裁剪、批量影像分幅案例详解

本文以案例的形式&#xff0c;讲解Globalmapper中进行影像矩形框裁剪&#xff0c;矢量范围裁剪&#xff0c;标准图幅批量分幅的方法&#xff0c;配套实验数据为数据包中的data003.rar。订阅专栏后私信作者&#xff0c;获取中文安装包及配套实验数据包&#xff0c;便于同步学习。…

基于Kubernetes v1.24.0的集群搭建(三)

1 使用kubeadm部署Kubernetes 如无特殊说明&#xff0c;以下操作可以在所有节点上进行。1.1 首先我们需要配置一下阿里源cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] nameKubernetes baseurlhttp://mirrors.aliyun.com/kubernetes/yum/repos/kubernet…

C++获取本机的ip地址程序

C获取本机的ip地址程序 #include <WinSock2.h> #pragma comment(lib,"ws2_32") //链接到ws2_32动态链接库class CInitSock { public:CInitSock(BYTE minorVer 2,BYTE majorVer 2){WSADATA wsaData;WORD VersionRequset;VersionRequset MAKEWORD(mino…

BAT批处理代码快速打开注册表并定位到指定目录

主要代码&#xff1a; echo off echo %1 copy %~nx0 c:\windows\system32 if "%1" NEQ "" (set regPath%1) else (set /p regPath输入打开的注册表路径:) :trimRight if "%regPath:~-1%""\" set "regPath%regPath:~0,-1%" …

Elasticsearch的Groovy Script自定义评分检索

需求&#xff1a;以索引中的boostapp列作为评分的基础分值&#xff0c;同时根据carpublishtime&#xff08;数据的刷新时间字段&#xff09;按时间进行衰减。 基于Groovy脚本实现。 1、query脚本方式&#xff1a; {"fields": ["boost","ucarid",…

stm32串口通讯问题

stm32串口通讯问题 在串口试验中&#xff0c;串口通讯不正常&#xff0c;则可能会出现以下问题&#xff1a; 1. 配置完成后&#xff0c;串口没有任何消息打印。 原因&#xff1a;1&#xff0c;端口配置有问题&#xff0c;需要重新检查I/O口的配置 2&#xff0c;接线有问题&…

中国元宇宙白皮书

PS&#xff1a;PDF目录&#xff08;书签&#xff09;是为便于阅读&#xff0c;重新整理过的。 2022《中国元宇宙白皮书》-互联网文档类资源-CSDN下载1月26日&#xff0c;2022《中国元宇宙白皮书》在北京中关村正式全网发布。该白皮书由国科创新研究院首席科学家更多下载资源、学…

【GlobalMapper精品教程】002:GlobalMapper中文版安装后的基本设置

本文讲述安装globalmapper后的一些简单基本设置&#xff08;持续更新&#xff09;&#xff0c;为后续深入学习软件打下基础。订阅专栏后私信作者&#xff0c;获取中文安装包及配套实验数据包。 文章目录1. 工具条的显示与关闭2. 面积单位设置3. 选择所选面要素的边框4. 二三维联…

SaltStack入门篇之远程执行和配置管理

一、SaltStack概述 Salt&#xff0c;,一种全新的基础设施管理方式&#xff0c;部署轻松&#xff0c;在几分钟内可运行起来&#xff0c;扩展性好&#xff0c;很容易管理上万台服务器&#xff0c;速度够快&#xff0c;服务器之间秒级通讯。 salt底层采用动态的连接总线, 使其可以…

ArgoCD 用户管理、RBAC 控制、脚本登录、App 同步

命令行登录参考&#xff1a;argocd 登录登出[1]登录&#xff1a;echo y | argocd login argocd-server.argocd.svc.cluster.local --password argoadmin.smallsoup --username admin登出&#xff1a;argocd logout argocd-server.argocd.svc.cluster.local创建用户、授权创建用…

敏捷需要重构吗?不需要吗?

在传统的Scrum中&#xff0c;Sprint的长度为一个月&#xff0c;现在一般时间更短。这意味着团队就得在项目刚开始的两周或者一个月内交付完成的软件。软件来自于产品负责人的backlog。它必须由特征组成。要正确的做到Scrum&#xff0c;我们不能做基础架构之类的东西&#xff0c…

【GlobalMapper精品教程】005:影像拼接与裁切(分幅)作业案例教程

本文讲述Globalmapper影像拼接与裁剪案例教程。 文章目录 一、影像的拼接(1)针对少量影像的拼接(2)针对大量影像的拼接二、影像的裁剪一、影像的拼接 (1)针对少量影像的拼接 如果影像数量比较小,可以通过加载→导出的方式进行拼接。 如下图所示,案例数据(配套实验数…

元宇宙行业深度研究报告:为什么元宇宙是下一代互联网?

目录 1、什么是元宇宙&#xff1f;为什么元宇宙是下一代互联网 1.1、 元宇宙&#xff1a;下一代沉浸式互联网 1.1.1、超越虚拟与现实的科幻畅想&#xff1a;元宇宙概念来源 1.1.2、新技术由点突破连接成面&#xff0c;移动互联网继承者的孕育 1.1.3、元宇宙的五大要素&…

细节总结(一)

self.XXX与_XXX的区别 通过self.XXX得到的数据相当于调用get函数取值,等价于[self XXX];而通过_XXX获取的是自己的实例变量,直接对变量进行操作,并未调用get函数。所以,通过懒加载方式初始化的变量只能通过self.XXX调用,否则可能会存在未初始化的问题。self.xxx是对属性的访问;…