python语言:通过对100个常用网站进行网络连接操作来判断当前的网络情况(是否被断掉)
由于需要判断网络的通信情况,比如判断网络是否掉线,因此想到了一个笨方法,那就是对100个大型网站进行网络连接操作,通过是否连接成功来判断当前的网络是否被断掉。
这里的思路是只要大部分的网站可以连接通那么当前的网络就是没有问题的,如果大部分的网络都连接不上那么就可以认为当前的网络是处于不好状态,甚至是掉线的,这时候就可以为下游业务提供信息,以便下游业务实现更换IP等操作。
host_list = [
"https://www.sohu.com/",
"https://www.163.com/",
"https://www.sina.com.cn/",
"https://www.jd.com/",
"https://www.taobao.com/",
"https://www.58pic.com/",
"https://www.ifeng.com/",
"https://www.bilibili.com/",
"https://haokan.baidu.com/",
"https://wvw.4366.com/",
"https://www.douban.com/",
"https://www.qq.com/",
"https://www.iqiyi.com/",
"https://www.zhihu.com/",
"https://ai.taobao.com/",
"https://www.9377.com/",
"https://www.eastmoney.com/",
"https://live.baidu.com/",
"http://tejia.hao123.com/",
"https://music.163.com/",
"https://wenku.baidu.com/",
"https://wx.mail.qq.com/",
"https://code.51.com/",
"https://www.ximalaya.com/",
"https://www.sogou.com/", # "https://www.youku.com/",
"https://www.yy.com/",
"https://www.ctrip.com/",
"http://www.dangdang.com/",
"https://www.1688.com/",
"https://www.csdn.net/",
"https://mail.126.com/",
"https://mail.163.com/",
"https://v.qq.com/",
"https://www.mgtv.com/",
"https://mail.sina.com.cn/",
"https://sports.qq.com/",
"https://pan.baidu.com/",
"https://www.lagou.com/",
"https://news.sina.com.cn/",
"https://www.vivo.com.cn/",
"http://www.mi.com/",
"https://www.vmall.com/",
"https://music.91q.com/",
"https://y.qq.com/",
"http://sports.qq.com/",
"https://www.kugou.com/",
"https://www.alipay.com/",
"http://www.lianjia.com/",
"https://qzone.qq.com/",
"https://www.guancha.cn/",
"https://www.zhipin.com/",
"https://www.51job.com/",
"http://renren.com/",
"http://auto.ifeng.com/",
"https://www.baihe.com/",
"http://www.zhenai.com/",
"https://www.dlut.edu.cn/",
"http://eda.dlut.edu.cn/",
"https://www.hupu.com/",
"https://tieba.baidu.com/",
"https://weibo.com/",
"http://www.ppsport.com/",
"https://www.docin.com/",
"http://www.tuniu.com/",
"http://www.yingjiesheng.com/",
"https://book.qq.com/",
"https://www.zol.com.cn/",
"https://www.ithome.com/",
"https://www.fliggy.com/",
"https://www.xcar.com.cn/",
"https://www.yicai.com/",
"http://www.cwl.gov.cn/",
"https://www.pcauto.com.cn/",
"https://open.163.com/",
"https://cn.bing.com/",
"http://www.xxsy.net/",
"https://www.jjwxc.net/",
"https://www.sporttery.cn/",
"http://www.lvmama.com/",
"https://www.mafengwo.cn/",
"http://focus.tianya.cn/",
"https://wot.wggames.cn/",
"https://www.amazon.com/",
"http://www.mafengwo.cn/",
"https://www.yiche.com/",
"https://www.liepin.com/",
"https://mail.10086.cn/",
"https://www.qimao.com/",
"https://fang.com/default.htm",
"http://www.kuwo.cn/",
"http://www.jrj.com.cn/",
"http://www.spdb.com.cn/",
"https://www.cib.com.cn/cn/index.html",
"https://www.spdb.com.cn/",
"https://outlook.live.com/",
"https://www.foxmail.com/",
"http://www.elong.com/",
"https://www.csair.com/cn/",
"http://www.ganji.com/",
"http://www.bankcomm.com/",
] from multiprocessing import Process, freeze_support
def main():
from collections import defaultdict
host_dict = defaultdict(int)
for host in host_list:
host_dict[host] += 1
for host, host_count in host_dict.items():
if host_count != 1:
print(host)
print(len(host_list)) import requests
for num in range(1000000000):
# for id, host in enumerate(["https://www.iqiyi.com/", ]):
for id, host in enumerate(host_list):
print(id+2, host)
try:
resp = requests.get(host, timeout=10)
except Exception as e:
print(e)
print(num) if __name__ == "__main__":
main()
python语言:通过对100个常用网站进行网络连接操作来判断当前的网络情况(是否被断掉)的更多相关文章
- 木马分析出现python语言,360的安全人员不禁感叹还有这种操作?
几年前,敲诈者木马还是一个默默无闻的木马种类.然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马.远控木马.网购木马这传统三强.与此 ...
- Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)
上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 ...
- 尚学python课程---12、python语言介绍
尚学python课程---12.python语言介绍 一.总结 一句话总结: 1.操作简单:简便计算:允许通过单个“import”语句后跟一个函数调用来完成复杂的计算.虽慢 2.库丰富:比如人工智能和 ...
- SSL证书没有绿锁您与此网站建立的连接并非完全安全解决办法
为什么我新建的网站配置好SSL后,网站https旁边提示不安全,没有小绿锁了? 不少国内空间的新手站长,当使用了SSL证书之后,发现浏览器有https效果了,但是没有绿锁,谷歌浏览器提示“您与此网站建 ...
- 零基础学Python--------第2章 Python语言基础
第2章 Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...
- Python 语言简介
Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 那P ...
- 【学习笔记】PYTHON语言程序设计(北理工 嵩天)
1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则 摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...
- Day01~15 - Python语言基础
Day01 - 初识Python Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 搭建编程环境 - Windows环境 / Linux环境 / MacO ...
- selenium2自动化测试实战--基于Python语言
自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...
- Python语言系列-05-模块和包
自定义模块 #!/usr/bin/env python3 # author:Alnk(李成果) # 为什么要有模块?(内置函数不够用) # 和操作系统打交道 # 和python解释器打交道 # 和时间 ...
随机推荐
- vue排行榜 加单位
- java并发的发布和订阅测试
现在编码的时候,为了处理消息,大家动不动就上个重器,例如MQ之类的.但很多时候,并不是那么有必要,因为数据量和并发其实远远不够. 可以替代的方案非常多,其中一个是java.util.concurren ...
- EF Core并发控制
EF Core并发控制 并发控制概念 并发控制:避免多个用户同时操作资源造成的并发冲突问题. 最好的解决方案:非数据库解决方案 数据库层面的两种策略:悲观.乐观 悲观锁 悲观并发控制一般采用行锁 ,表 ...
- 【论文阅读】Optimization-Based Collision Avoidance
前言与参考 论文地址:https://ieeexplore.ieee.org/document/9062306 文章是2018年5月提出的,但是到了2020年才发表到ACC 所以时间轴上写的是2021 ...
- C语言gcc编译环境搭建
第一步,根据以下链接下载gcc工具包: gcc工具包下载地址: 链接:https://pan.baidu.com/s/1JqEjakTcWLPv7p6zkah6sA提取码:k4d2 第二步,将下载好的 ...
- Node.js 的ORM(Sequelize) 的使用
Sequelize是一个Node.js 的ORM.什么是ORM呢?对象关系映射(Object Relational Mapping).什么意思?就是在编程语言中,很容易创建对象,如果在面向对象的语言中 ...
- Redis缓存雪崩,击穿,穿透以及解决方案
Redis读写过程 一般情况下,Redis都是作为client与MySQL间的一层缓存,尽量减少MySQL的读压力,数据流向如图所示: Redis的五种数据类型及使用场景 String 这个其实没啥好 ...
- SpringBoot 整合模板引擎 jetbrick-template
添加依赖 <dependency> <groupId>com.github.subchen</groupId> <artifactId>jetbrick ...
- oeasy教您玩转vim - 64- # 参数argument
参数argument 回忆上次 上次了解了 窗口 window 窗口是用来装缓冲buffer的 buffer是在内存里面加载的硬盘文件 窗口的切分 :sp[lit] 水平切分 :vsp[lit] ...
- [rCore学习笔记 03]配置rCore开发环境
写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 rCo ...