Python学习笔记之——requests库
requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码。
requests是python的第三方库,所以使用之前需要先安装。
1、安装之后就可导入requests模板使用
import requests
2、requests发送请求
r = requests.get('https://github.com/timeline.json') r = requests.post("http://httpbin.org/post") r = requests.put("http://httpbin.org/put") r = requests.delete("http://httpbin.org/delete") r = requests.head("http://httpbin.org/get") r = requests.options("http://httpbin.org/get")
3、传递 URL 参数
有些请求是有参数的。比如 httpbin.org/get?key=val
。 Requests 允许你使用 params
关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1
和 key2=value2
到 httpbin.org/get
,那么你可以使用如下代码:
#coding:utf-8 import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("http://httpbin.org/get", params=payload) print r.url
执行结果:
http://httpbin.org/get?key2=value2&key1=value1
注意字典里值为 None
的键都不会被添加到 URL 的查询字符串里。
你还可以将一个列表作为值传入:
#coding:utf-8 import requests payload = {'key1': 'value1', 'key2': ['value2', 'value3']} r = requests.get('http://httpbin.org/get', params=payload) print r.url
执行结果:
http://httpbin.org/get?key2=value2&key2=value3&key1=value1
4、响应内容
举例:
#coding: utf-8 import requests #发请求和传参 r = requests.get('https://api.github.com/user', auth=('user', 'pass')) #打印请求返回的status_code print r.status_code #打印请求返回的headers print r.headers #打印请求头里面的content-type print r.headers['content-type'] #打印编码 print r.encoding #打印请求返回的文本 print r.text #将请求响应的json字符串转换成了python的dict print r.json()
执行结果:
403 {'Status': '403 Forbidden', 'X-RateLimit-Remaining': 。。。。 application/json; charset=utf-8 utf-8 {"message":"Maximum number of login attem。。。。。 {u'documentation_url': u'https://developer.。。。。。
上面的例子里,我们将响应的json字符串转换成了python的dict
总结:
官方中文文档说明:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html