响应函数python 响应函数英文( 四 )


介绍下例子中用到的函数:
1、HTTPConnection函数
httplib.HTTPConnection(host[,port[,stict[,timeout]]])
这个是构造函数 , 表示一次与服务器之间的交互,即请求/响应
host标识服务器主机(服务器IP或域名)
port默认值是80
strict模式是False,表示无法解析服务器返回的状态行时,是否抛出BadStatusLine异常
例如:
conn = httplib.HTTPConnection("192.168.81.16",80)与服务器建立链接 。
2、HTTPConnection.request(method,url[,body[,header]])函数
这个是向服务器发送请求
method请求的方式,一般是post或者get,
例如:
method="POST"或method="Get"
url请求的资源,请求的资源(页面或者CGI,我们这里是CGI)
例如:
url=""请求CGI
或者
url=""请求页面
body需要提交到服务器的数据,可以用json , 也可以用上面的格式,json需要调用json模块
headers请求的http头headerdata = https://www.04ip.com/post/{"Host":"192.168.81.16"}
例如:
test_data = https://www.04ip.com/post/{'ServiceCode':'aaaa','b':'bbbbb'}
test_data_urlencode = urllib.urlencode(test_data)
requrl = ""
headerdata = https://www.04ip.com/post/{"Host":"192.168.81.16"}
conn = httplib.HTTPConnection("192.168.81.16",80)
conn.request(method="POST",url=requrl,body=test_data_urlencode,headers = headerdata)
conn在使用完毕后,应该关闭,conn.close()
3、HTTPConnection.getresponse()函数
这个是获取http响应 , 返回的对象是HTTPResponse的实例 。
4、HTTPResponse介绍:
HTTPResponse的属性如下:
read([amt])获取响应消息体,amt表示从响应流中读取指定字节的数据,没有指定时,将全部数据读出;
getheader(name[,default])获得响应的header , name是表示头域名 , 在没有头域名的时候,default用来指定返回值
getheaders()以列表的形式获得header
例如:
date=response.getheader('date');
print date
resheader=''
resheader=response.getheaders();
print resheader
列形式的响应头部信息:
[('content-length', '295'), ('accept-ranges', 'bytes'), ('server', 'Apache'), ('last-modified', 'Sat, 31 Mar 2012 10:07:02 GMT'), ('connection', 'close'), ('etag', '"e8744-127-4bc871e4fdd80"'), ('date', 'Mon, 03 Sep 2012 10:01:47 GMT'), ('content-type', 'text/html')]
date=response.getheader('date');
print date
取出响应头部的date的值 。
******************************************************************************************************************************************************************************************************************************************************
所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地 。
类似于使用程序模拟IE浏览器的功能 , 把URL作为HTTP请求的内容发送到服务器端,然后读取服务器端的响应资源 。
在Python中 , 我们使用urllib2这个组件来抓取网页 。
urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件 。
它以urlopen函数的形式提供了一个非常简单的接口 。
最简单的urllib2的应用代码只需要四行 。
我们新建一个文件urllib2_test01.py来感受一下urllib2的作用:
import urllib2
response = urllib2.urlopen('')
html = response.read()
print html
按下F5可以看到运行的结果:
我们可以打开百度主页,右击,选择查看源代码(火狐OR谷歌浏览器均可),会发现也是完全一样的内容 。
也就是说,上面这四行代码将我们访问百度时浏览器收到的代码们全部打印了出来 。
这就是一个最简单的urllib2的例子 。

推荐阅读