python学习之requests基础
学习地址: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头部,只要简单地传递一个dict给headers参数就可以了。
注意点:所有的header值必须是string、bytestring或unicode。尽管传递unicode header也是允许的,但是不建议这样做。
五、Cookie
1、查看响应中的cookie
responses.cookies
2、传递cookie
3、cookie的返回对象是RequestsCookieJar
六、重定向与请求历史
可以使用响应对象的history方法来追踪重定向
response.history
可使用allow_redirects参数禁用重定向
七、超时
在requests请求时,应该设置timeout这个参数(单位为:秒),表示等待多少秒后定制等待响应。
八、错误和异常
遇到网络问题时,requests会抛出一个ConnectionError异常
如果返回来了不成功的状态码,Response.raise_for_status()会抛出一个httperror异常
若请求超时,则抛出一个Timeout异常
若超过设定的最大重定向次数,则会抛出一个TooManyRedirects异常
所有的request显示抛出的异常都继承自requests.exceptions.RequestException
最新文章
- 关于input标签和placeholder在IE8,9下的兼容问题
- android android BitmapFactory报错OOM
- SqlServer基础之(触发器)
- 2.3属性在 ASP.NET Web API 2 路由
- 使用ViewBag传送数据从控制器至视图
- JSP隐含变量和Spring中Model在EL表达式中的读取顺序
- 11个Visual Studio代码性能分析工具
- BZOJ 4579: [Usaco2016 Open]Closing the Farm
- IIS调试技巧
- 重新想象 Windows 8 Store Apps (68) - 后台任务: 控制通道(ControlChannel)
- Python的交互式界面 编写 .
- Windows下的SVN环境搭建详解
- poj 2046 Gap(bfs+hash)
- delphi 数组复制利用CopyMemory 最为完美
- Golang 入门系列(一)Go环境搭建
- 解决PLSQL Developer 插入中文 乱码问题
- centos7系列-给普通用户sudo权限
- php会话控制技术
- 业余实现一个统计A股数据工具
- 服务注册中心Eureka vs Zookeeper vs Consul