requests入门(1)

随笔3周前发布 白伟
2 0 0

安装Requests

pip install requests

发送请求

接口:
https://api.github.com/events
获取接口信息
r = requests.get('https://api.github.com/events')
之后获取的信息都是从r对象来的

其他的请求类型:

#post类型
r = requests.post('http://httpbin.org/post', data = {'key':'value'})

#put类型
r = requests.put('http://httpbin.org/put', data = {'key':'value'})

#delete类型
r = requests.delete('http://httpbin.org/delete')

#head类型
r = requests.head('http://httpbin.org/get')

#options类型
r = requests.options('http://httpbin.org/get')

扩展:
get(获取)

作用:用于请求服务器上的资源,仅请求数据,不对服务器上的资源进行修改
特点:请求参数附在URL后面,通过查询字符串传递

post(提交)

作用:提交数据给指定的资源,用于在服务器上创建新的资源
特点:请求参数附在请求体中,适用于大量数据传输

put(更新)

作用:请求服务器更新指定资源,或创建新资源(若不存在)
特点:要求服务器提供完整的资源数据,用于整体更新资源

delete(删除)

作用:请求服务器删除指定的资源
特点:用于删除服务器上的资源,是一种幂等方法,多次执行效果与一次相同

head(获取头信息)

作用:与get类似,但服务器不返回实体的主体部分,只返回头信息,用于获取资源的元信息

options(获取支持的方法)

作用:请求查询服务器支持的方法,用于确定服务器支持哪些http方法

传递URL参数

requests存在params参数,已字符串字典传递

#已字典形式传递
param = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('http://httpbin.org/get', params=param)

#列表作为值传递
param = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=param)

响应

#输出响应文本
print(r.text)

#查看编码格式
r.encoding

#修改编码格式
r.encoding = 'ISO-8859-1'

#用二进制方式输出响应文本
print(r.content)

#解析json格式响应体
print(r.json)

#获取请求状态码
print(r.status_code)

#获取请求的头部
print(r.request.headers)

POST请求使用方法

#编码为表单的形式发送数据
#字典
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.ort/post", data=payload)
#元组
payload = (('key1', 'value1'), ('key1', 'value2))
r = requests.post("http://httpbin.ort/post", data=payload)

timeout超时

#超过timeout参数设定时间后停止等待响应
r = requests.get("http://github.com", timeout=0.001)
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...