首页 > 编程语言 > 详细

Python requests库的基础使用

时间:2020-01-24 17:30:51      阅读:105      评论:0      收藏:0      [点我收藏+]

简单介绍

requests库简单易用的HTTP库

   

Get请求

格式: requests.get(url) 

注意:若需要传请求参数,可直接在 url 最后的 ? 后面,也可以调用 get() 时多加一个参数 params ,传入请求参数,注意需要是 dict 格式;如下图所示

 1     url = http://127.0.0.1:8888/passport/user/login
 2     param = {
 3         username: 123,
 4         password: 321
 5     }
 6 
 7     """通过params传参"""
 8     res = requests.get(url, params=param)
 9     # {‘code‘: 200, ‘msg‘: ‘success‘, ‘password‘: ‘321‘, ‘username‘: ‘123‘}
10     print(res.json())
11 
12     """通过params方式传参,最终发出的url也是一致的"""
13     # http://127.0.0.1:8888/passport/user/login?username=123&password=321
14     print(res.url)
15 
16     """通过url最后加上请求参数列表"""
17     url = http://127.0.0.1:8888/passport/user/login?username=123&password=321
18     res = requests.get(url, verify=False)
19     # {‘code‘: 200, ‘msg‘: ‘success‘, ‘password‘: ‘321‘, ‘username‘: ‘123‘}
20     print(res.text)

重点:发送请求赋值的res,可以看成是请求的上下文,既可以获取请求相关参数值,也可以获取响应相关参数值

 

Post请求

格式: requests.post(url,data) 

注意:若无请求参数可不传 data ;当传入请求参数时,需要传 dict 格式

 1     url = http://127.0.0.1:8888/passport/user/post_login
 2     data = {
 3         username: 123,
 4         password: 321
 5     }
 6 
 7     """传入请求参数"""
 8     res = requests.post(url, data=data)
 9     # {‘code‘: 200, ‘msg‘: ‘success‘, ‘password‘: ‘321‘, ‘username‘: ‘123‘}
10     print(res.json())
11 
12     """查看请求url"""
13     # http://127.0.0.1:8888/passport/user/post_login
14     print(res.url)

 

其他类型请求

1     r = requests.put(http://httpbin.org/put, data={key: value}).text
2     r = requests.delete(http://httpbin.org/delete).text
3     r = requests.head(http://httpbin.org/head).text

 

自定义headers和cookies

 1     """自定义headers"""
 2     url = https://api.github.com/some/endpoint
 3     headers = {user-agent: my-app/0.0.1}
 4 
 5     r = requests.get(url, headers=headers)
 6     # {‘message‘: ‘Not Found‘, ‘documentation_url‘: ‘https://developer.github.com/v3‘}
 7     print(r.json())
 8 
 9     """自定义cookies"""
10     url = http://httpbin.org/cookies
11     cookies = dict(cookies_are=working)
12     cookies2 = {cookies_are: working}
13 
14     r = requests.get(url, cookies=cookies)
15     # {‘cookies‘: {‘cookies_are‘: ‘working‘}}
16     print(r.json())

 

SSL 证书验证

技术分享图片

当发送请求如果报以上错误时,可以在请求方法里加多一个字段 verify=False ,就可以解决此问题;此操作是为了免去验证步骤

url = https://www.imooc.com
res = requests.get(url, verify=False)

 

响应内容

注意:当调用 json() 时,确保响应内容是json格式字符串,否则会报错

 1     url = http://127.0.0.1:8888/passport/user/login
 2     param = {
 3         username: 123,
 4         password: 321
 5     }
 6     res = requests.get(url, params=param)
 7     print(请求url:  + res.url)
 8     print(响应内容 json格式:  + json.dumps(res.json()))
 9     print(响应内容 字符串格式:  + res.text)
10     print(响应内容 二进制格式:  + str(res.content))
11     print(响应码:  + str(res.status_code))

 

获取header

注意:headers里面的key是大小写不敏感的

>>> r.headers[Content-Type]
application/json

>>> r.headers.get(content-type)
application/json

 

获取cookies

>>> r.cookies[example_cookie_name]
example_cookie_value

Python requests库的基础使用

原文:https://www.cnblogs.com/poloyy/p/12232376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!