python 模拟文件上传

使用库

pip install requests

实例代码

import requests
# 定义url
url = "http://example.com/upload-file"

# 定义请求头
headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01', 
    'Referer': 'http://example.com',
}

with open('上传的文件', 'rb') as f:
    file = f.read()

# 定义上传的文件参数
files_data = {
    'file': ('test.docx',file),    
    'age_id': (None,'949'),    
    'productid': (None,'1'),    
    'tempid': (None,''),
}


# 发送请求
response = requests.post('http://example.com/set_oss_file', cookies=cookies, headers=upload_headers,files=files_data)
# 获取响应
print(response.text)

说明

有些参数是需要根据自己的接口而定的

请求头:

这个要注意了,请求头中的这个参数 “Content-Type” 不要填进去python代码中的(请求头)里, 因为使用文件上传 files 参数时, python已经帮你传了, 如果(请求头)里再传一次就会报错

文件参数:

  “file” 这个值一般是固定的, 但是也有例外, 可以通过抓包工具查看上传接口请求头中“Content-Disposition”中的值,里面name=""是什么值,file就填什么值。

  “test.docx” 这个是你文件的名称,一般就是文件的名称,但也有例外,可以通过抓包工具查看上传接口请求头中的“Content-Disposition”,里面filename=""是什么值,test.docx 就填什么值。