您的位置:首页 > 理论基础 > 计算机网络

python httplib urllib的使用 - 千月的python linux 系统管理指南学习笔记(21)

2017-06-28 01:04 786 查看
我们前一章知道了如何用 socket 来创建一个http 请求。但是socket 是一个较低层的库,在和 Http 服务器的交流过程中,实现一些常见的功能,我们应更多的使用便捷的高级库,以节约编程时间。而低层库一般用在高层库无法满足其功能需求时再使用。

import httplib


1、简单的用httplib测试http服务器工作状态
我们看一看范例,对端服务器要开启 http 服务,并且我自己写了个 index.html.做测试。记得要清空iptables 很多问题的出现就是因为回包失败引起的。看代码:



这里其余的很好理解。 httplib.HTTPConnection(address,port) ,建立了一个到服务器的连接实例。之后使用 requset 函数的主要功能是向服务器发送请求。getresponse 是获取服务器的响应。而getresponse.status 返回了http 服务的状态。 200 是 OK 代表正常,301是重定向,也是正常返回值的一种,不过因为需要复用网址的关系,所以做虚拟主机一类的重定向。最后别忘了一定要 调用 close() 关闭连接。

执行结果:



最重要的值还是 response status,他的返回才是正常能服务的标准。

import urllib


2、简单的用urllib从http服务器获取数据
urllib 是更高层的库,使用起来更加的方便快捷。我们这里就不写大段的参数处理了,直接进入如何使用,如果要写成像上面例子的类命令,就用 optparse 自己写写吧。

先来个最简单的,获取页面内容和其他信息



我们看到 urlopen 返回了一个类文件的对象,可以用文件的处理方法处理。 info()返回了http 头文件,getcode() 就是我们上面获得的 http 服务器状态代码,geturl() 就是所查询的 url 地址了。

2、简单的用 urllib从远端下载数据

urllib 还可以下载数据,无论对 http 还是 ftp 只要 url 写对就可以下载。



urlretrieve( url地址 , 到本地保存的文件 ) 就是下载的方法。一行解决,很方便。

其实 urllib 还有很多的用法,大家有兴趣可以自己去查。争取能写出自己的命令,以便在工作中使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐