Jenkins自动部署增加http状态码校验

公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一问题。本文记录了解决这一问题的过程。

  • 安装包管理工具pip
  • 安装requests模块
  • 请求http资源
  • 指定ip访问http资源

安装包管理工具pip

安装requests模块

  • 极其简单,命令行执行pip install requests即可。

请求http资源

  • 实现http请求完整代码如下:
    # -*- coding: UTF-8 -*-
    import requests r = requests.get(url='https://www.python.org/search/' , params={'q':'pip'})
    print(r.text)

指定ip访问http资源

  • 完整代码如下,正常请求地址为http://www.domain.com/iistools/iptest.aspx,通过如下方式,则访问到指定IP地址218.32.11.16。
    # -*- coding: UTF-8 -*-
    import requests response = requests.get('http://218.32.11.16/iistools/iptest.aspx', headers={'host': 'domain.com'})
    print(response.text)
  • 感觉这个方法很实用,可以不用修改本地hosts文件,而实现指定服务器访问,可以给很多工作带来便利。

指定IP访问的原理

通过域名形式访问时,域名有两个作用:1)寻址找到域名对应的服务器资源;2)浏览器自动在请求头添加host:domain.com ,目的是定位到服务器n多站点中绑定了该域名的站点,所以可以把http请求携程上述代码形式。知道了原理后,各个语言实现起来都不难。

参考资源:

上一篇:scrapy自动抓取蛋壳公寓最新房源信息并存入sql数据库


下一篇:str_replace使用