0
点赞
收藏
分享

微信扫一扫

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://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()

 

举报

相关推荐

0 条评论