运维python拓展(一) urllib2使用

urllib2是python自带的模块,有简单请求方法,也有复杂的http验证,http代理方法,今天就介绍几个基本的http请求方法

urllib2.urlopen
urllib2.urlopen(url,data=None,timeout=1,cafile=None,capath=None,cadefault=False,context=None)
下面是urllib2发起http请求,获取httpcode
In [1]: import urllib2

In [2]: url = ‘http://test.nginxs.net/index.html‘

In [3]: res = urllib2.urlopen(url)

#读取请求结果
In [5]: print res.read()
this is index.html

#获取httpcode
In [6]: print res.code
200
#获取http请求头
In [7]: print res.headers
Server: nginxsweb
Date: Sat, 07 Jan 2017 02:42:10 GMT
Content-Type: text/html
Content-Length: 19
Last-Modified: Sat, 07 Jan 2017 01:04:12 GMT
Connection: close
ETag: "58703e8c-13"
Accept-Ranges: bytes

urllib2通过http请求发送数据给zabbix登录(非api的登录)

url = ‘http://192.168.198.116/index.php‘
data = {‘name‘ : ‘admin‘,
          ‘password‘ : ‘zabbix‘,
          ‘enter‘ : ‘Sign in‘ }
data = urllib.urlencode(data)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
print the_page

urllib2验证nginx的用户进行登录

In [32]: auth_handler = urllib2.HTTPBasicAuthHandler()

In [33]: top_level_url = ‘http://test.nginxs.net/limit/views.html‘

In [34]: username=‘admin‘

In [35]: password=‘nginxs.net‘

In [36]: auth_handler.add_password(realm=‘Nginxs.net  login‘,uri=‘http://test.nginxs.net/limit/views.html‘,user=username,passwd=password)

In [37]: opener = urllib2.build_opener(auth_handler)

In [38]: urllib2.install_opener(opener)

In [39]: urllib2.urlopen(top_level_url)
Out[39]: <addinfourl at 61183328 whose fp = <socket._fileobject object at 0x3b29650>>

In [40]: res=urllib2.urlopen(top_level_url)

In [41]: print res.read()
this is my web
login success
时间: 2024-09-30 14:11:46

运维python拓展(一) urllib2使用的相关文章

运维python拓展(一)requests使用

介绍 python的requests模块是python一个强大的第三方HTTP请求库,简单易用 安装: pip install requests import requests url='http://new.nginxs.net/ip.php' requet使用http各种方法 s=requests.get(url) s=requests.post(url) s=requests.delete(url) s=requests.options(url) requests模块请求传参 net_pa

运维python

作为一名合格的运维你会慢慢发现不掌握一些开发的知识,慢慢的会进入一个瓶颈期.因为大多数时候都在做一些重复事情或者寻找新的工具来解放你现在重复事情. 俗话说的好,自己动手丰衣足食,我决定自己学一下python解决一下我现在一些重复无意义的事情. 在读完简明的python教程以后决定写一些例子来练习: 运维python进行(一) nmap扫描端口 更新中...

自动化运维Python系列(一)之基础篇

Python介绍 Python是由创始人吉多·范罗苏姆(Guido van Rossum)在1989年圣诞节假期期间,为了打发时间,构思出来的一个新的脚本解释器.由于Guido在开发Python语言过程中,借鉴了很多ABC语言特性,所有后来包括Guido自己也那么认为,Python语言的前身就是ABC语言. Python是一门面向对象的.动态解释型强定义语言:Python崇尚简洁.优美.清晰,是一门优秀的被广泛使用的语言. 在2015年以前,最流行的Python版本还是2.4,但是由于Pytho

运维python进行(一) nmap扫描端口

介绍 python-nmap是基于系统nmap命令的一个端口扫描工具,使用简单方便. 最近为了加强服务器安全性和监管,需要每天把公司服务器开放端口扫描记录,一旦出现增加减少能发现. 之前使用shell写过一个https://github.com/bashhu/monitor-shell/blob/master/python-script/scan_port.sh 最近打算完善一下我们的运维平台,重新编写了脚本,方便平台的调用 https://github.com/bashhu/monitor-s

自动化运维Python系列之ForeignKey、relationship联表查询

一对多和多对多 数据库表结构设计是程序项目开发前的重要环节,后期数据库操作都是围绕着这个已经设计好的表结构进行,如果表结构设计有问题,整个程序项目就有存在需要整个推翻重构的风险... 数据库表结构除了简单的单表操作以外,还有一对多.多对多等. 一对多 基于SQLAlchemy我们可以先创建如下结构的2张表,然后来看看具体怎样通过外键ForeignKey或者relationship联表操作 创建表 from sqlalchemy.ext.declarative import declarative

运维python进行(二) 时间日期的格式化

因为经常会写一些定时任务和报表,经常需要获取昨天日期,上个月的天数,或者今天周几,如果有python模块肯定方便不少,今天就介绍两个"datetime","calendar" datetime模块介绍 如何获取当前的年,月,日,周.格式化输出时间 官方文档传送门 In [25]: import datetime In [26]: now=datetime.datetime.now()      #now是获取当前时间的方法 In [27]: print now   

自动化运维Python系列(七)之Socket编程

了解知识点TCP\IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准, 从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族.不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中(数据链路层和物理

自动化运维Python系列(四)之装饰器和生成器

装饰器 在理解什么事装饰器之前,我们需要理解:函数也是一个对象,可以赋值给变量,通过变量来调用 def f1():     print('2016') d = f1 d() 输出: 2016 那么装饰器的作用就是在不改变原函数的前提下,调用这些函数,并且为函数增加我们需要的新功能. 我们平时在编写好很多独立函数模块以后,突然需要在每个模块内添加一个功能,比如: def f1():     print('F1') def f2():     print('F2') def f3():     pr

自动化运维Python系列之Django进阶操作

FBV && CBV FBV.CBV是Django视图路由处理模型,当用户请求送达路由系统URL后,由其转发给视图view来分析并处理 // FBV    function base views  // CBV    class base views 区别就是一个直接用函数驱动,一个用类驱动,两者在使用上存在一些区别 1)FBV URL中根据路由匹配直接转发给视图中的某一个处理函数 urlpatterns = [     url(r'^home/', views.home), ] 视图函数