Python 三方库 requests

2017-11-30 language python

这是一个简单但是非常优雅的 HTTP 库,对于一些常见的 API 调用非常简单实用。

简介

urllib2 模块要简洁很多,同时支持 HTTP 连接保持和连接池,可以使用 cookie 保持会话,也支持文件上传等。

import requests

requests.get("http://example.com/post")       # GET请求
requests.get(url="http://example.com/post", params={"key": "value"})    # 带参数

requests.post("http://example.com/post")      # POST请求
requests.put("http://example.com/post")       # PUT请求
requests.delete("http://example.com/post")    # DELETE请求
requests.head("http://example.com/post")      # HEAD请求
requests.options("http://example.com/post")   # OPTIONS请求

req = requests.get(url="http://example.com/post", params={"key": "value"})
print(req.url)         # 查看生成的URL信息
print(req.text)        # 返回body信息
print(req.json())      # 直接转换为JSON格式信息
print(req.status_code) # 状态码
print(req.headers["content-type"]) # 头信息

post 请求可以通过 body=json.dumps(body) 或者 json=body 传递 JSON 格式的参数,两者等价。

其它

日志

当使用 logging 作为日志库时,默认会打印很多调试信息,此时可以通过 logging.getLogger("urllib3").setLevel(logging.WARNING) 调整日志级别。

参考