抓取一个上传头衔的接口
构建请求需要一个url
还需要data
那么这个接口的data呢?
好像没有data
但是我们知道上传头像一个file
那我们先构建这个file
file = {
}
那么file有什么参数呢?
看接口
我好像知道了
第一个:type
第二个:filename
为啥type是1呢
import requests
import json
# 构建一个post请求
url = 'https://www.imooc.com/user/postpic'# 接口地址
#接口参数
# Content-Disposition: form-data; name="fileField"; filename="python.png"
# Content-Type: image/png
# Content-Disposition: form-data; name="type"
file = {
"fileField":("diaosi.png",open("C:\\Users\\92188\\Desktop\\diaosi.png",'rb'),"image/png"),
"type":"1"
}
res = requests.post(url,files=file,verify=False).text
print(res)
嗯,这次看起来没啥毛病了
运行一下
不对
再看,原来是因为未登录
这个接口存在业务关联,需要登录
咋整呢,这个时候我们需要拿到用户的cookie
上传下代码
import requests
import json
# 构建一个post请求
url = 'https://www.imooc.com/user/postpic'# 接口地址
#接口参数
# Content-Disposition: form-data; name="fileField"; filename="python.png"
# Content-Type: image/png
# Content-Disposition: form-data; name="type"
file = {
"fileField":("diaosi.png",open("C:\\Users\\92188\\Desktop\\diaosi.png",'rb'),"image/png"),
"type":"1"
}
cookie = {
"apsid":"I0MzljZDAxY2IwMDk2NTI1NzU4N2U2ZGNhZWZjYzkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzcxMDg1NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MjE4ODkyMzNAcXEuY29tAAAAAAAAAAAAAAAAAAAAADJhZTNkNmRhZjQwYjdmM2FiZmNjNWU4ZTI0N2M5ZDU048PpXb7Tkl0%3DZj"
}
res = requests.post(url,cookies=cookie,files=file,verify=False).json()
print(res)