码迷,mamicode.com
首页 > 编程语言 > 详细

python学习之requests基础

时间:2018-10-25 11:07:59      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:其他   分享图片   param   ext   info   direct   load   字节   cookies   

学习地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html#id2

使用requests发送网络请求

一、导入requests

import requests

 

二、请求

r=requests.get("http://www.baidu.com")

rpost=request.post("http://www.baidu.com",data={‘key‘:value})

其他请求模式类似

 技术分享图片

详细说明

1、在URL中使用查询字符串传递值,在URL中,数据会以键值对的形式置于URL中,跟在一个问号的后面,如:http://www.baidu.com?key=values,在requests中可以使用params关键字参数,以一个字符串字典来提供这些参数,如下:

keyvalues={"key1":values1,"key2":values2}

rget=requests.get("http://www.baidu.com",params=payload)

 

请求地址为:http://www.baidu.com?key1=values1&key2=values2

注意点:字典中的值为None时键也不会添加到URL的查询字符串中。

三、响应

在请求后,可以得到服务器的响应内容

import requests

rpost=requests.post("http://www.baidu.com")

---表示将请求的响应结果对象赋值给了repost这个变量,可以通过这个对象变量查看响应的各种信息。

rpost.text:查看响应信息;

rpost.encoding:查看编码;

rpost.content:查看响应内容(字节方式);

rpost.status_code:查看响应代码

rpost.raise_for_status()

 技术分享图片

requests内置了一个JSON解码器,可以已json格式查看响应数据。

四、请求头

如果需要添加http头部,只要简单地传递一个dictheaders参数就可以了。

 技术分享图片

技术分享图片

注意点:所有的header值必须是stringbytestringunicode。尽管传递unicode header也是允许的,但是不建议这样做。

五、Cookie

1、查看响应中的cookie

responses.cookies

2、传递cookie

 技术分享图片

3cookie的返回对象是RequestsCookieJar

六、重定向与请求历史

可以使用响应对象的history方法来追踪重定向

response.history

可使用allow_redirects参数禁用重定向

七、超时

requests请求时,应该设置timeout这个参数(单位为:秒),表示等待多少秒后定制等待响应。

 技术分享图片

八、错误和异常

遇到网络问题时,requests会抛出一个ConnectionError异常

如果返回来了不成功的状态码,Response.raise_for_status()会抛出一个httperror异常

若请求超时,则抛出一个Timeout异常

若超过设定的最大重定向次数,则会抛出一个TooManyRedirects异常

 

所有的request显示抛出的异常都继承自requests.exceptions.RequestException

python学习之requests基础

标签:其他   分享图片   param   ext   info   direct   load   字节   cookies   

原文地址:https://www.cnblogs.com/smallstone2018/p/9847737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!