python+fiddler接口自动化——文件上传
首先把包给安装好,使用pip install requests-toolbelt来安装
在这样的场景下,才能使用multipart/form-data
import requests
import re
from requests_toolbelt import MultipartEncoder
from lxml import etree
url = “http://47.104.190.48:8000/login/”
s = requests.session()
r = s.get(url)
re 知道前面和后面,取中间值
token = re.findall(‘name=“csrfmiddlewaretoken” value="(.+?)"’, r.text)
print(token[0])
body = {
“csrfmiddlewaretoken”: token[0],
“username”: “x’x’x’x”,
“password”: “x’x’xx”
}
r2 = s.post(url, data=body)
if “登录成功” in r2.text:
print(“登录成功!”)
else:
print(“密码不对,自己申请账号密码”)
登录成功之后的请求
url3 = “http://47.104.190.48:8000/xadmin/hello/fileimage/add/”
r_token = s.get(url3)
token2 = re.findall(‘name=“csrfmiddlewaretoken” value="(.+?)"’, r_token.text)
print(token2[0])
body = MultipartEncoder(
fields=[
(“csrfmiddlewaretoken”, token2[0]),
(“csrfmiddlewaretoken”, token2[0]),
(“title”, “文件4444444”),
(“image”, (“test.png”, open(“E:\test.png”, “rb”), “image/png”)), # 传图片
(“fiels”, (“test.png”, open(“E:\test.png”, “rb”), “image/png”)),
("_save", “”),
],
)
r3 = s.post(url3, data=body, headers={‘Content-Type’: body.content_type})