由于需要判断网络的通信情况,比如判断网络是否掉线,因此想到了一个笨方法,那就是对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. winform遍历控件的Controls.OfType<>方法

    页面TextBox控件较多时,可以使用类似的名字,方便遍历时整体的修改,可以使用Controls.OfType<TextBox>()获取所有文本框: 需要引用命名空间System.Linq ...

  2. 短链接口设计&禁用Springboot执行器端点/env的安全性

    短链接口设计 //短链接服务 跳转方式,实现短链接转长链接的请求. @GetMapping("/{code}") public String redirectUrl(@PathVa ...

  3. Java 对象转Map,Java Map转对象方法

    Java 对象转Map,Java Map转对象方法 import com.alibaba.fastjson.JSON; import org.apache.commons.beanutils.Bean ...

  4. 接口签名规则和Java实现签名和验签代码

    接口签名规则和Java实现签名和验签代码 签名规则 签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用U ...

  5. 阿里也出手了!Spring CloudAlibaba AI问世了

    写在前面 在之前的文章中我们有介绍过SpringAI这个项目.SpringAI 是Spring 官方社区项目,旨在简化 Java AI 应用程序开发, 让 Java 开发者想使用 Spring 开发普 ...

  6. FreeRTOS简单内核实现7 阻塞链表

    0.思考与回答 0.1.思考一 如何处理进入阻塞状态的任务? 为了让 RTOS 支持多优先级,我们创建了多个就绪链表(数组形式),用每一个就绪链表表示一个优先级,对于阻塞状态的任务显然要从就绪链表中移 ...

  7. .NET Core WebApi接口ip限流实践

    .NET Core WebApi接口ip限流实践 前言 之前一直想实现接口限流,但一直没去实现,然后刚好看到一篇文章是基于AspNetCoreRateLimit 组件的限流策略.这个组件不做多的介绍, ...

  8. Markdown 文章 跳转

    背景 在查阅一些文档的时候,一些比较优秀博客在文章中是带有目录的,点击就会跳转到指定的锚点. 在本人的某些文章中,也想尝试这样的效果. 做法 实现这样的效果有2种做法(不同之处在于 超链接的写法不同) ...

  9. Qt 学习笔记 - 第四章 - Qt的三驾马车之 - 网络编程

    Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布局.界面切换 Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口 ...

  10. Vue 是如何实现数据双向绑定的?

    Vue 数据双向绑定主要是指: 数据变化更新视图 视图变化更新数据. 即: 输入框内容变化时,Data 中的数据同步变化.即 View => Data 的变化. Data 中的数据变化时,文本节 ...