VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python之Requests模块使用详解(3)

刚才介绍的r.text返回的是字符串,那么,如果请求对应的响应是一个json,那我可不可以直接拿到json格式的数据呢?r.json()就是为这个准备的。

我们还可以拿到服务器返回的原始数据,使用r.raw.read()就可以了。不过,如果你确实要拿到原始返回数据的话,记得在请求时加上“stream=True”的选项,如:

1
= requests.get('https://api.github.com/events', stream=True)。

我们也可以得到响应状态码:

1
2
3
>>> r = requests.get('http://pythontab.com/justTest')
>>> r.status_code
200

也可以用requests.codes.ok来指代200这个返回值:

1
2
>>> r.status_code == requests.codes.ok
True

四、关于headers

我们可以打印出响应头:

1
2
>>> r= requests.get("http://pythontab.com/justTest")
>>> r.headers

`r.headers`返回的是一个字典,例如:

1
2
3
4
5
6
7
8
9
{
    'content-encoding''gzip',
    'transfer-encoding''chunked',
    'connection''close',
    'server''nginx/1.0.4',
    'x-runtime''147ms',
    'etag''"e1ca502697e5c9317743dc078f67693a"',
    'content-type''application/json'
}

我们可以使用如下方法来取得部分响应头以做判断:

1
r.headers['Content-Type']

或者

1
r.headers.get('Content-Type')

如果我们想获得请求头(也就是我们向服务器发送的头信息)该怎么办呢?可以使用r.request.headers直接获得。

同时,我们在请求数据时也可以加上自定义的headers(通过headers关键字参数传递):

1
2
>>> headers = {'user-agent''myagent'}
>>> r= requests.get("http://pythontab.com/justTest",headers=headers)

相关教程