python3_requests模块说明和简单使用

Posted ranxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3_requests模块说明和简单使用相关的知识,希望对你有一定的参考价值。

1、模块说明

requests是使用Apache2 licensed 许可证的HTTP库。

用python编写。

比urllib2模块更简洁。

Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。

现代,国际化,友好。

2、基础入门

1)导入模块

import requests

2)发送请求的简洁

  示例代码:获取一个网页(个人github)

1 import requests
2 
3 r = requests.get(https://github.com/Ranxf‘)

 我们就可以使用该方式使用以下各种方法

1   requests.get(‘https://github.com/timeline.json’)                                # GET请求
2   requests.post(“http://httpbin.org/post”)                                        # POST请求
3   requests.put(“http://httpbin.org/put”)                                          # PUT请求
4   requests.delete(“http://httpbin.org/delete”)                                    # DELETE请求
5   requests.head(“http://httpbin.org/get”)                                         # HEAD请求
6   requests.options(“http://httpbin.org/get” )                                     # OPTIONS请求

 

3)为url传递参数

>>> url_params = {key:value}       #    字典传递参数,如果值为None的键不会被添加到url中
>>> r = requests.get(your url,params = url_params)
>>> print(r.url)
  your url?key=value

4)响应的内容

r.encoding                       #获取当前的编码
r.encoding = utf-8 #设置编码
r.text                           #以encoding解析返回内容
r.content                        #以字节形式(二进制)返回
r.json()                         #以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常

5)定制头和cookie信息

header = {user-agent: my-app/0.0.1‘‘}
cookie = {key:value}
 r = requests.get/post(your url,headers=header,cookies=cookie) 

6)响应状态码

    示例代码:

1 import requests
2 
3 r = requests.get(https://github.com/Ranxf)       # 最基本的不带参数的get请求
4 print(r.status_code)                               # 获取返回状态
5 r1 = requests.get(url=http://dict.baidu.com/s, params={wd: python})      # 带参数的get请求
6 print(r1.url)
7 print(r1.text)        # 打印解码后的返回数据

 运行结果:

/usr/bin/python3.5 /home/rxf/python3_1000/1000/python3_server/python3_requests/demo1.py
200
http://dict.baidu.com/s?wd=python
………… Process finished with exit code 0

 

 r.status_code                      #如果不是200,可以使用 r.raise_for_status() 抛出异常

7)响应

r.headers                                  #返回字典类型,头信息
r.requests.headers                         #返回发送到服务器的头信息
r.cookies                                  #返回cookie
r.history                                  #返回重定向信息,当然可以在请求是加上allow_redirects = false 阻止重定向

8)超时

r = requests.get(url,timeout=1)           #设置秒数超时,仅对于连接有效

9)会话对象,能够跨请求保持某些参数

s = requests.Session()
s.auth = (auth,passwd)
s.headers = {key:value}
r = s.get(url)
r1 = s.get(url1) 

10)代理

proxies = {http:ip1,https:ip2 }
requests.get(url,proxies=proxies)

 

 

 

 

参考:

http://www.python-requests.org/en/master/

http://docs.python-requests.org/en/latest/user/quickstart/



以上是关于python3_requests模块说明和简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Python库: PrettyTable 模块简介和简单使用

python软件包管理工具pip的简单使用和说明

python——optparse模块

python——optparse模块

RequireJS简单实用说明

静态库与动态库的简单说明