由于需要判断网络的通信情况,比如判断网络是否掉线,因此想到了一个笨方法,那就是对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个常用网站进行网络连接操作来判断当前的网络情况(是否被断掉)的更多相关文章

  1. 木马分析出现python语言,360的安全人员不禁感叹还有这种操作?

    几年前,敲诈者木马还是一个默默无闻的木马种类.然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马.远控木马.网购木马这传统三强.与此 ...

  2. Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

    上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 ...

  3. 尚学python课程---12、python语言介绍

    尚学python课程---12.python语言介绍 一.总结 一句话总结: 1.操作简单:简便计算:允许通过单个“import”语句后跟一个函数调用来完成复杂的计算.虽慢 2.库丰富:比如人工智能和 ...

  4. SSL证书没有绿锁您与此网站建立的连接并非完全安全解决办法

    为什么我新建的网站配置好SSL后,网站https旁边提示不安全,没有小绿锁了? 不少国内空间的新手站长,当使用了SSL证书之后,发现浏览器有https效果了,但是没有绿锁,谷歌浏览器提示“您与此网站建 ...

  5. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  6. Python 语言简介

    Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 那P ...

  7. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  8. Day01~15 - Python语言基础

    Day01 - 初识Python Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 搭建编程环境 - Windows环境 / Linux环境 / MacO ...

  9. selenium2自动化测试实战--基于Python语言

    自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...

  10. Python语言系列-05-模块和包

    自定义模块 #!/usr/bin/env python3 # author:Alnk(李成果) # 为什么要有模块?(内置函数不够用) # 和操作系统打交道 # 和python解释器打交道 # 和时间 ...

随机推荐

  1. sqlyog 工具 查看 历史记录

    sqlyog 工具 查看 历史记录 可以查看当前客户端的执行脚本的情况

  2. Java8中LocalDateTime与时间戳timestamp的互相转换及ChronoUnit工具类

    Java8中LocalDateTime与时间戳timestamp的互相转换及ChronoUnit工具类import java.time.*;import java.time.format.DateTi ...

  3. 一文详解分布式 ID

    前言 分布式系统中,我们经常需要对数据.消息等进行唯一标识,这个唯一标识就是分布式 ID,那么我们如何设计它呢?本文将详细讲述分布式 ID 及其生成方案. 一.为什么需要分布式 ID 目前大部分的系统 ...

  4. Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南

    Kotlin 数据类型 在 Kotlin 中,变量的类型由其值决定: 示例 val myNum = 5 // Int val myDoubleNum = 5.99 // Double val myLe ...

  5. .NET 个人博客-添加RSS订阅功能

    个人博客-添加RSS订阅功能 前言 个人博客系列已经完成了 留言板 文章归档 推荐文章优化 推荐文章排序 博客地址:https://pljzy.top 然后博客开源的原作者也是百忙之中添加了一个名为R ...

  6. linux 4.19 ip重组

    IP重组 ip重组这部分 4.19内核与3.10内核有些差别,4.9.134以后内核中不使用低水位和工作队列了,同时使用了rhashtable 替代了 hash bucket的概念,在3.10内核中使 ...

  7. 实现ASP.Net Core3.1运行在DockeDesktop下并用Nginx实现负载均衡

    一.首先去https://docs.docker.com/get-docker/下载Windows版本的Docker Desktop并安装(需要win10专业版以上操作系统,并启用CPU虚拟化和安装H ...

  8. 你有对 Vue 项目进行哪些优化?

    (1)代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 图片资源懒加载 ...

  9. js - 面向对象--手稿

  10. 洛谷P2845

    蓝题搜索,模拟上的细节稍微有点麻烦 #include<iostream> #include<utility> #include<vector> #include&l ...