首页> 软件工程> requests基本使用

[资源]requests基本使用

收藏
0 829 0

Requests基本使用

Horin

【摘要】

在最近的项目中使用到了pythonrequests包获取状态码,遂对这个包做一些扩展

【正文】

       首先requests的作用就是发送网络请求,返回响应数据,requests的底层实现就是urllib,还能自动解压网页内容,简单且易用。

一、安装

       1.1  利用pip安装

              $ pip install requests

       1.2  利用easy_install安装

              $ easy_install requests

二、使用

       2.1  基本请求

              2.1.1  requests提供所有基本请求方式

r = requests.post("http://httpbin.org/post")

r = requests.put("http://httpbin.org/put")

r = requests.delete("http://httpbin.org/delete")

r = requests.head("http://httpbin.org/get")

r = requests.options("http://httpbin.org/get")

 

 

        2.1.2  基本GET请求

                  最基本的GET请求可以直接用get方法

                         r = requests.get("http://httpbin.org/get")

                  加入参数,用params

                         payload = {'key1': 'value1', 'key2': 'value2'}

r = requests.get("http://httpbin.org/get", params=payload)

                  加入headers

                         payload = {'key1': 'value1', 'key2': 'value2'}

headers = {'content-type': 'application/json'}

r = requests.get("http://httpbin.org/get", params=payload, headers=headers)

           2.1.3  基本POST请求

POST 请求,一般需要增加一些参数,最基本就是利用data这个参数

payload = {'key1': 'value1', 'key2': 'value2'}

r = requests.post("http://httpbin.org/post", data=payload)

                  如果需要上传文件,就用file参数

                     url = 'http://httpbin.org/post'

files = {'file': open('test.txt', 'rb')}

r = requests.post(url, files=files)

                  requests支持流式上传,这样就无需把大文件先读入内存中了

with open('massive-body') as f:

                             requests.post('http://some.url/streamed', data=f)

 

           2.1.4  常用属性

                  r = requests.get(url)

              r.text

r.content  二进制形式的响应数据

r.status_code  响应状态码

r.headers  响应头

r.request.headers  请求头

 

    2.2  Cookies

           2.2.1  如果一个响应中包含了cookie,可以利用 cookies 变量来拿到

              url = 'http://example.com'

r = requests.get(url)

print r.cookies

print r.cookies['example_cookie_name']

           2.2.2  也可以利用 cookies 变量来向服务器发送 cookies 信息

              url = 'http://httpbin.org/cookies'

cookies = dict(cookies_are='working')

r = requests.get(url, cookies=cookies)

print r.text

    2.3  超时配置

           2.3.1  可以利用 timeout 变量来配置最大请求时间

requests.get('http://github.com', timeout=0.001)

注:timeout 仅对连接过程有效,与响应体的下载无关。

    2.4  保持会话

           2.4.1  利用requests.Session() 来建立一个长久会话

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')

r = s.get("http://httpbin.org/cookies")

print(r.text)

三、结语

以上只是一些 requests 的基本用法,更多内容可查阅文档http://docs.python-requests.org/zh_CN/latest/index.html

附件
2019第一季度技术文章.docx 27.33KB
软件工程
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}