一、get请求
# 一、get 请求
# url = 'http://api.github.com'
# res = requests.get(url)
# print(res.text)
# 如何传递参数,如何修改请求头,token
# headers = {'token': '1234', 'username': 'test'}
# url = 'http://localhost:5000/login'
# res = requests.get(url, headers=headers)
# print(res.text)
# 如何传递参数,位置参数,或者关键字参数 params,是通过query_string 的形式传递的
data = {'name': 'admin', 'pwd': '123456'}
headers = {'token': '1234', 'username': 'test'}
url = 'http://localhost:5000/login'
res = requests.get(url, params=data, headers=headers)
print(res.text)
二、post请求
import requests
# 发送 post请求
url = 'http://localhost:500/login'
requests.post(url)
# 发送headers 请求头
url = 'http://localhost:500/login'
headers = {'token': '123445'}
requests.post(url, headers=headers)
# 如何传递参数 ,
data = {'username': 'admin'}
# 传递参数2: 表单形式 , 用data=
form_data = {'form_admin': 'test1'}
# 传递参数3:json 用json=
json_data = {'json_data': 'test2'}
res = requests.post(url, json=json_data, headers=headers, params=data)
# 获取相应文本,得到的数据类型,string
print(res.text)
# 获取二进制形式
print(res.content)
# json,得到的是字典数据类型
print(res.json())
三、cookie和session
# 一个session 一次会话对象
#
import requests
# url = 'http://localhost:5000/login'
# data = {'mobliepphone': '13112341234', 'pwd': '12345'}
# res = requests.post(url, json=data)
# print(res.json())
#
# # 获取cookie
# cookies = res.cookies
#
# recharge_url = 'http://localhost:5000/recharge'
# recharge_data = {'mobilephone': '13112341234', 'recharge': '1000'}
# res = requests.post(recharge_url, json=recharge_data, cookies=cookies)
#
# print(res.text)
# session 的使用, 相当一个浏览器,这个时候就不需要cookie,使用session管理机制,自动把cookie带上去
session = requests.Session()
url = 'http://localhost:5000/login'
data = {'mobliepphone': '13112341234', 'pwd': '12345'}
res = session.post(url, json=data)
print(res.json())
recharge_url = 'http://localhost:5000/recharge'
recharge_data = {'mobilephone': '13112341234', 'recharge': '1000'}
res = session.post(recharge_url, json=recharge_data)
print(res.text)
# 这个会话最后需要关闭
session.close()
# 封装一个requests类
四、封装Requests
requests_handler.py
import requests
class RequestHandler(object):
def __init__(self):
self.session = requests.Session()
def visit(self, method, url, params=None, data=None, json=None, headers=None, **kwargs):
res = self.session.request(method, url, params=params, data=data, json=json, headers=headers, **kwargs)
try:
return res.json()
except ValueError:
print('not json')