# coding=utf-8
import requests
import json
#定义一个登录的请求地址
Login_url="http://testadminapi.ihlaifu.cn/Base_Manage/Home/SubmitLogin"
#定义一个添加标签的请求地址
add_url="http://testadminapi.ihlaifu.cn/api/Tag/AddOrUpdateTag"
#获取标签
get_url = "http://testadminapi.ihlaifu.cn/api/Tag/GetTag"
#删除标签
delete_url = "http://testadminapi.ihlaifu.cn/api/Tag/DeleteTag"
#添加标签的请求数据
add_data=json.dumps({"tagID":"","tagContent":"KTV"})
#获取标签的请求数据
get_data=json.dumps({"pageIndex":1,"pageSize":10,"keyword":""})
#登录的请求体数据
login_data={"userName":"chengxin","password":"21D6831F06AB01CCE9BE8F67792BDEFE5CA4E45A","savePwd":True}
#定义一个变量接收登录返回的响应数据
login_response=requests.post(url=Login_url,json=login_data)
#打印出响应数据中的Data字段
print(json.loads(login_response.text)['Data'])
#定义一个名为Token的变量去接收提取出来的Data字段
Token=json.loads(login_response.text)['Data']
#请求头数据
headers = {
'Content-Type': 'application/json;charset=UTF-8',
'Token': Token #将接收Data字段的变量作为请求体的值
}
#定义一个变量接收请求后响应的数据
# add_response = requests.post( url=add_url, headers=headers, data=add_data)
#输出响应数据
# print(add_response.text)
#定义一个变量接收获取请求接口返回的数据
get_response=requests.post(url=get_url,headers=headers,data=get_data)
#获取响应数据中的TagId值
print(json.loads(get_response.text)['Data']['List'][00]['TagId'])
#定义一个变量接收提取出来的TagId值
TagId=json.loads(get_response.text)['Data']['List'][00]['TagId']
#将变量作为请求体去请求删除接口
delete_data=json.dumps([TagId])
delete_response=requests.post(url=delete_url,headers=headers,data=delete_data)
print(delete_response.text)
# 导包
import requests
# 发送请求
response = requests.get("http://www.baidu.com")
# 查看响应
# 查看响应数据编码格式
print("原始的数据编码为:", response.encoding)
print("设置前响应数据:", response.text)
# 设置响应数据编码格式
response.encoding = "utf-8"
print("设置编码后数据编码为:", response.encoding)
print("设置后响应数据:", response.text)
解决响应数据乱码问题
获取当前编码格式: 响应.encoding
设置新的编码规范: 响应.encoding="utf-8"
# 查看响应
# 查看响应数据编码格式
print("原始的数据编码为:", response.encoding)
print("设置前响应数据:", response.text)
# 设置响应数据编码格式 response.encoding = "utf-8"
print("设置编码后数据编码为:", response.encoding)
print("设置后响应数据:", response.text)
response = requests.post(url, data=None, json=None)
"""
:param url: 请求的URL
:param data: (可选) 要发送到请求体中的字典、元组、字节或文件对象
:param json: (可选) 要发送到请求体中的JSON数据 """
说明:
需求:
1. 请求TPshop项目的登录接口,请求数据(username: 13088888888, password: 123456, verify_code: 1234)
2. 登录接口URL:http://localhost/index.php?m=Home&c=User&a=do_login
# 导包
import requests
# 发请求
login_url = "http://localhost/index.php?m=Home&c=User&a=do_login"
login_data = {
"username": "13488888888",
"password": "123456",
"verify_code": "8888"
}
response = requests.post(url=login_url, data=login_data)
# 看响应
print(response.json())
需求:
1. 请求IHRM项目的登录接口,请求数据( {"mobile":"13800000002","password":"123456"})
2. 登录接口URL:http://ihrm-test.itheima.net/api/sys/login
1. 请求IHRM项目的登录接口,请求数据( {"mobile":"13800000002", "password":"123456"} )
2. 登录接口URL:http://ihrm-test.itheima.net/api/sys/login """
# 导包
import requests
# 发送请求
login_url = "http://ihrm-test.itheima.net/api/sys/login"
login_data = {
"mobile": "13800000002",
"password": "123456"
}
response = requests.post(url=login_url, json=login_data)
# 查看响应
print(response.json())
需求:
1. 访问TPshop搜索商品的接口,通过查询字符串的方式传递搜索的关键字 iPhone ,并查看响应数据
2. 请求路径格式为: http://localhost/Home/Goods/search.html?q=iPhone
# 导包
import requests
# 发送请求
# 直接通过url传递参数
response = requests.get(" http://localhost/Home/Goods/search.html?q=iphone")
# 通过params传递参数:
# (1)字符串
urlA = "http://localhost/Home/Goods/search.html"
stringA = "q=iphone"
response = requests.get(url=urlA, params=stringA)
# (2)字典
dictA = {
"q": "iphone"
}
response = requests.get(url=urlA, params=dictA)
# 查看响应
print(response.text)
案例1:
1 ) . 访问百度首页的接口 ` http : // www . baidu . com ` ,获取以下响应数据2 ) . 获取响应状态码3 ) . 获取请求 URL4 ) . 获取响应字符编码5 ) . 获取响应头数据6 ) . 获取响应的 cookie 数据7 ) . 获取文本形式的响应内容8 ) . 获取字节形式的响应内容
import requests
# 1). 访问百度首页的接口`http://www.baidu.com`,获取以下响应数据
response = requests.get("http://www.baidu.com")
# 2). 获取响应状态码
print("响应状态码:", response.status_code)
# 3). 获取请求URL
print("URL:", response.url)
# 4). 获取响应字符编码
print("编码格式为:", response.encoding)
# 5). 获取响应头数据
print("响应头信息:", response.headers)
print("Content-Type:", response.headers.get("Content-Type"))
# 6). 获取响应的cookie数据
print("cookies:", response.cookies)
print("提取指定的cookie:", response.cookies.get("BDORZ"))
# 7). 获取文本形式的响应内容
print("文本形式显示响应内容:", response.text)
# 8). 获取字节形式的响应内容
print("获取字节形式的响应内容:", response.content)
print("获取字节形式的响应内容:", response.content.decode("utf-8"))
案例 21 ) . 访问查询天气信息的接口,并获取 JSON 响应数据2 ) . 接口地址: http : // www . weather . com . cn / data / sk / 101010100. html1. 请求 IHRM 项目的登录接口,请求数据({ "mobile" : "13800000002" ,"password" : "123456" } )2. 登录接口 URL : http : //ihrm-test.itheima.net/api/sys/login
# import requests
#
# # 1). 访问查询天气信息的接口,并获取JSON响应数据
# # 2). 接口地址:http://www.weather.com.cn/data/sk/101010100.html
# response =
requests.get("http://www.weather.com.cn/data/sk/101010100.html")
#print(response.json())
1. 请求IHRM项目的登录接口,请求数据( {"mobile":"13800000002", "password":"123456"} ) 2. 登录接口URL:http://ihrm-test.itheima.net/api/sys/login """
# 导包
import requests
# 发送请求
login_url = "http://ihrm-test.itheima.net/api/sys/login"
login_data = {
"mobile": "13800000002",
"password": "123456"
}
response = requests.post(url=login_url, json=login_data)
# 查看响应
print(response.json())
1. 请求 IHRM 项目的登录接口, URL : http : //ihrm-test.itheima.net/api/sys/login2. 请求头: Content - Type : application / json3. 请求体: { "mobile" : "13800000002" , "password" : "123456" }
import requests
login_url = "http://ihrm-test.itheima.net/api/sys/login"
login_header = { "Content-Type": "application/json" }
login_data ={
"mobile": "13800000002",
"password": "123456"
}
# 发送请求
response = requests.post(url=login_url, json=login_data, headers=login_header)
# 查看响应
print(response.json())
1. 使用 requests 库调用 TPshop 登录功能的相关接口,完成登录操作2. 登录成功后获取 ‘ 我的订单 ’ 页面的数据接口地址:获取验证码: http : //localhost/index.php?m=Home&c=User&a=verify登录用户:( username : 13088888888 , password : 123456 , verify_code : 1234 )登录: http : //localhost/index.php?m=Home&c=User&a=do_login我的订单: http : //localhost/Home/Order/order_list.html
import requests
# 获取验证码
response = requests.get("http://localhost/index.php?m=Home&c=User&a=verify")
print(response.cookies)
PHPSESSID = response.cookies.get("PHPSESSID")
print(PHPSESSID)
# 登录
login_url = "http://localhost/index.php?m=Home&c=User&a=do_login"
login_data = {
"username": "13488888888",
"password": "123456",
"verify_code": "8888"
}
cookies = {
"PHPSESSID": PHPSESSID
}
response = requests.post(url=login_url, data=login_data, cookies=cookies) print(response.json())
# 我的订单:http://localhost/Home/Order/order_list.html response = requests.get("http://localhost/Home/Order/order_list.html",
cookies=cookies)
print(response.text)
1. 使用 requests 库调用 TPshop 登录功能的相关接口,完成登录操作2. 登录成功后获取 ‘ 我的订单 ’ 页面的数据接口地址:获取验证码: http : //localhost/index.php?m=Home&c=User&a=verify登录用户:( username : 13088888888 , password : 123456 , verify_code : 1234 )登录: http : //localhost/index.php?m=Home&c=User&a=do_login我的订单: http : //localhost/Home/Order/order_list.html
import requests
# 创建session对象
session = requests.Session()
# 获取验证码
response = session.get("http://localhost/index.php?m=Home&c=User&a=verify")
# 登录
login_url = "http://localhost/index.php?m=Home&c=User&a=do_login"
login_data = {
"username": "13488888888",
"password": "123456",
"verify_code": "8888"
}
response = session.post(url=login_url, data=login_data)
print(response.json())
# 我的订单:http://localhost/Home/Order/order_list.html
response = session.get("http://localhost/Home/Order/order_list.html")
print(response.text)