利用python并发模块进行网站的状态检测

news/2024/5/17 14:41:46/文章来源:https://blog.csdn.net/weixin_33827590/article/details/90075558

python  curl.py


 
  1. #!/usr/bin/python    

  2. # -*- coding: utf-8 -*-

  3. import httplib

  4. #连接服务器

  5. conn=httplib.HTTPConnection('www.dnspod.cn')

  6. #发送HTTP请求

  7. conn.request('GET','url')

  8. #得到结果

  9. result=conn.getresponse()

  10. #获取HTTP请求结果值。200为成功

  11. resultresultStatus=result.status

  12. print resultStatus

  13. #获取请求的页面内容  

  14. content=result.read()

  15. #关闭连接

  16. conn.close()

  17. #如果要模拟客户端进行请求,可以发送HTTP请求头

  18. headers={"Content-Type":"text/html;charset=gb2312"}

  19. conn.requeset('POST','url',headersheaders=headers)

  20. #带参数传送  

  21. params=urllib.urlencode({'key':'value'});

  22. conn.request('POST','url',body=params)

还有一个 模拟 浏览器的方式~


 
  1. #!/usr/bin/python

  2. # -*- coding: utf-8 -*-

  3. import httplib

  4. conn = httplib.HTTPConnection('www.hao123.com')

  5. conn.request('GET', '/', headers = {

  6.                                        "User-Agent" : "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5",

  7.                                        "Accept" : "*/*",

  8.                                        "Accept-Encoding" : "gzip,deflate",

  9. })

  10. res = conn.getresponse()

  11. #print conn.getresponse().status

  12. print res.status

  13. print res.msg

  14. #print res.read()

  15. conn.close()



174318208.png

下面是 并发的测试~    类似 ab 和 webbench~~~~


 
  1. # -*- coding: utf8 -*-

  2. import threading, time, httplib

  3. HOST = "www.baidu.com"; #主机地址 例如192.168.1.101

  4. PORT = 80 #端口

  5. URI = "/?123" #相对地址,加参数防止缓存,否则可能会返回304

  6. TOTAL = 0 #总数

  7. SUCC = 0 #响应成功数

  8. FAIL = 0 #响应失败数

  9. EXCEPT = 0 #响应异常数

  10. MAXTIME=0 #最大响应时间

  11. MINTIME=100 #最小响应时间,初始值为100秒

  12. GT3=0 #统计3秒内响应的

  13. LT3=0 #统计大于3秒响应的

  14. # 创建一个 threading.Thread 的派生类

  15. class RequestThread(threading.Thread):

  16.    # 构造函数

  17.    def __init__(self, thread_name):

  18.        threading.Thread.__init__(self)

  19. self.test_count = 0

  20.    # 线程运行的入口函数

  21.    def run(self):

  22.        self.test_performace()

  23.    def test_performace(self):

  24.            global TOTAL

  25.            global SUCC

  26.            global FAIL

  27.            global EXCEPT

  28.            global GT3

  29.            global LT3

  30.            try:

  31. st = time.time()

  32. conn = httplib.HTTPConnection(HOST, PORT, False)  

  33.                conn.request('GET', URI)

  34. res = conn.getresponse()  

  35.                #print 'version:', res.version  

  36.                #print 'reason:', res.reason  

  37.                #print 'status:', res.status  

  38.                #print 'msg:', res.msg  

  39.                #print 'headers:', res.getheaders()

  40.                start_time

  41.                if res.status == 200:

  42.                    TOTAL+=1

  43.                    SUCC+=1

  44.                else:

  45.                    TOTAL+=1

  46.                    FAIL+=1

  47. timetime_span = time.time()-st

  48.                print '%s:%f\n'%(self.name,time_span)

  49.                self.maxtime(time_span)

  50.                self.mintime(time_span)

  51.                if time_span>3:

  52.                    GT3+=1

  53.                else:

  54.                    LT3+=1                    

  55.            except Exception,e:

  56.                print e

  57.                TOTAL+=1

  58.                EXCEPT+=1

  59.            conn.close()

  60.    def maxtime(self,ts):

  61.            global MAXTIME

  62.            print ts

  63.            if ts>MAXTIME:

  64. MAXTIME=ts

  65.    def mintime(self,ts):

  66.            global MINTIME

  67.            if ts<MINTIME:

  68. MINTIME=ts

  69. # main 代码开始

  70. print '===========task start==========='

  71. # 开始的时间

  72. start_time = time.time()

  73. # 并发的线程数

  74. thread_count = 300

  75. i = 0

  76. while i <= thread_count:

  77. t = RequestThread("thread" + str(i))

  78.    t.start()

  79.    i += 1

  80. t=0

  81. #并发数所有都完成或大于50秒就结束

  82. while TOTAL<thread_count|t>50:

  83.        print "total:%d,succ:%d,fail:%d,except:%d\n"%(TOTAL,SUCC,FAIL,EXCEPT)

  84.        print HOST,URI

  85.        t+=1

  86.        time.sleep(1)

  87. print '===========task end==========='

  88. print "total:%d,succ:%d,fail:%d,except:%d"%(TOTAL,SUCC,FAIL,EXCEPT)

  89. print 'response maxtime:',MAXTIME

  90. print 'response mintime',MINTIME

  91. print 'great than 3 seconds:%d,percent:%0.2f'%(GT3,float(GT3)/TOTAL)

  92. print 'less than 3 seconds:%d,percent:%0.2f'%(LT3,float(LT3)/TOTAL)




本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1048485,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_805951.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某个网站浏览器指纹提取算法

为什么80%的码农都做不了架构师&#xff1f;>>> function getFingerprint() {var b "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.3408.400 QQBrowser/9.6.12028.400"…

网站被黑——bugku

刚刚做了bugku的题目&#xff0c;现在整理一下 写出解题思路&#xff0c;希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找&#xff0c; 希望你们不要责怪&#xff01;&#xff01;共勉&#xff01;&#xff01;&…

分享一些好用的网站

前言 这两年收藏了不少网站&#xff0c;特地整理一下&#xff0c;把一些大家都可能用得上的分享出来&#xff0c;希望能对你有用。 考虑到有一些网站大多数人都知道&#xff0c;所以我就不列出来了。 我把这些网站分为了几大类&#xff1a; 工具类素材类社区类工具类 1、start.…

JSON.parseObject 和 JSON.toJSONString 实例

JSON.parseObject&#xff0c;是将Json字符串转化为相应的对象&#xff1b;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中&#xff0c;Json字符串是相当常用的&#xff0c;这里就不多介绍其功能了&#xff0c;直接举一下应用的小例子&#xff0c;帮助理解…

未备案或未接入,该网站暂时无法访问,网站未备案。

2019独角兽企业重金招聘Python工程师标准>>> 该网站暂时无法访问 尊敬的用户&#xff0c;您好 很抱歉&#xff0c;该网站暂时无法访问&#xff0c;可能由以下原因导致&#xff1a; 原因一&#xff1a;未备案或未接入&#xff1b;根据《非经营性互联网信息服务备案管…

背景图页面缩小会变形_湖南网站建设背景图这样使用,让你的网站瞬间提升好几个档次...

虽然湖南网站建设中背景图片的运用相对麻烦和困难&#xff0c;但是运用得好会对网站推广发展大有裨益。另外一方面因为背景图片往往会涉及到不同终端的兼容和显示问题&#xff0c;设计师可能要考虑到在不同平台、终端的效果呈现和程序匹配。那么湖南网站建设背景图使用需要注意…

学做网站用什么服务器,做网站需要学习什么

做网站需要学习什么&#xff1f;随着现在互联网发展的普及和完善&#xff0c;越来越多的人希望能通过互联网进行创业&#xff0c;但在互联网上创业就必须搭建自己的网站平台。那么我要创建一个网站&#xff0c;需要掌握和了解哪些基础要点呢&#xff1f;1、清楚2、常用建站工具…

tomcat网站测试linux,Tomcat6 Tomcat7对比测试

0摘要本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试&#xff0c;测试结果表明&#xff0c;tomcat7的在性能上没有明显的提升&#xff0c;而主要贡献在于Servlet 3.0&#xff0c;内存检测泄露和增强的安全特性。1 Tomcat7的特性目前tomcat7已经发布到第…

Wordpress 插件出现漏洞,网站可能被攻击者接管

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; 据安全研究人员警告&#xff0c;因旧版 Wordpress Simple Social Button 插件出现漏洞&#xff0c;使用这个插件的网站应该尽快更新软件&#xff0c;避免攻击者攻击并接管网站。Simple Social B…

10个国外免费下载电子书网站

1、FreeBookSpot FreeBookSpot是一个在线免费电子书下载网站。网站拥有96个类别&#xff0c;大约71.97 GB的免费电子书籍。用户可以搜索和分类下载免费书籍&#xff0c;如科学&#xff0c;工程&#xff0c;编程&#xff0c;小说和其他许多书籍。FreeBookSpot无需注册&#xff0…

云速建站配置https证书

2019独角兽企业重金招聘Python工程师标准>>> 1、购买证书&#xff0c;阿里云、华为云均有&#xff0c;自行购买下载即可。 2、购买服务器&#xff0c;用于配置证书&#xff0c;同时在服务器上安装web服务器&#xff0c;配置https 3、云速建站后台对证书的域名添加证…

如何让设置样式让网站文字无法复制

今天在解决一个网站的时候偶然遇到了网站文字无法复制。 到最后终于找出来原因。现在分享出来给你大家 原因一 我的文字无法复制的一个原因是 被包裹了 A 标签 a标签如下 这样的话&#xff0c;会给页面带上一个类似于遮罩的感觉&#xff0c;所以 果断的把 href 去掉这样就可…

网站开发快速入门教程-3

声明&#xff1a;本网站开发快速入门教程系列为刘兴(http://deepfuture.iteye.com/)整理&#xff0c;如果转载请注明转载来源 WEB服务器原理 您是否曾经对将此网页传送给您的机制感到好奇&#xff1f;假设此刻您正坐在计算机前在浏览器中查看这个网页。在您单击这个网页的链接…

在线生成彩字在线制作动态特效文字的2个网站

1Textanim - 是一个在线生成动态文字效果的站点&#xff0c;操作简单&#xff0c;输入想要生成的英文字母或单词,选择字体和彩字样式,就能可以轻松生成。提供了上百种的花纹可以选择使用。提供设置项包括&#xff1a;1.字体2.字体大小3.背景颜色4.自动大小5.影音位置6.动画延时…

设计人员一些常用的网站

亚洲ci网——http://www.asiaci.com/ (点击这里) 中国ci网—— http://www.cn-cis.com/ (点击这里) 中国包装设计网—— http://www.chndesign.net/ (点击这里) limon企业识别—— http://www.limon.com.cn/ (点击这里) 中国色彩—— http://www.cncolor.net/ (点击这里) logo吧…

OpenSource事业受挫,开源网站BerliOS因资金问题年底将关闭

BerliOS.de今天释出的新闻&#xff08;https://developer.berlios.de/forum/forum.php?forum_id37450&#xff09;我之前在这个网站上的资源全是开源的&#xff0c;代码由世界各地的爱好者编写&#xff08;主要还是欧洲的&#xff09;&#xff0c;project的文档什么的都很详细…

scrip如何显示值到网页_在线免费用!这个网站帮你测试响应式网页效果

链接&#xff1a;https://www.uisdc.com/everysize#现在很多人是通过智能手机或平板电脑浏览网页&#xff0c;在网页设计上就要考量到如何让不同尺寸屏幕大小也能正常显示&#xff0c;以往会制作成电脑版和手机版两种格式&#xff0c;后来多半以响应式网页设计(Responsive web …

Next Door,基于“邻居”的社交网站

编者按&#xff1a;社交网站(SNS)是旨在帮助人们建立社会性网络的互联网应用服务&#xff0c;本文突出介绍了与Facebook等基于“朋友”关系的社交网站大相径庭基于“邻居”的一种社交网站。网友们众说纷纭&#xff0c;有的说“邻居关系特殊&#xff0c;应该鼓励线下交流”&…

如何在网站集的首页上显示出我的所有任务

在网站集的首页添加“内容查询 Web 部件”部件&#xff0c;并修改其属性如下&#xff0c;其他的保持默认值。 设置完后就能正常显示了&#xff0c;用该部件还能实现其他的信息显示。有一点需要注意的是&#xff0c;用系统帐户身份浏览时筛选条件“分配对象”将造成查询不到任何…

网站云服务器有5g的吗6,网站云服务器有5g的吗

网站云服务器有5g的吗 内容精选换一换服务器迁移通常有三种手段&#xff1a;全新部署业务、主机迁移服务、镜像迁移&#xff0c;如表1所示。对于华为云上云服务器的跨帐号跨区域迁移&#xff0c;建议采用镜像迁移方式。跨帐号跨区域迁移云服务器的方案为&#xff1a;帐号A将区域…