用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.pswp.cn/news/284490.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284490.shtml
英文地址,請注明出處:http://en.pswp.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是對屬性的訪問;…