REST接口POST传参需XML文件Base64编码的含义及Postman测试方法
接口要求变量包含XML文件Base64编码内容的含义
这个要求的本质是:你不能直接把XML原始内容作为参数值提交,需要先把整个XML文件的所有内容转成由大小写字母、数字、+、/、=组成的纯文本Base64字符串,再把这个字符串作为名为filename的POST参数的值传给接口。这么做是为了规避XML里的<、>、&、特殊控制字符、换行等内容破坏HTTP请求的参数结构,同时兼容不同网络节点对非文本内容的传输限制。
Postman测试全流程操作步骤
- 准备正确的Base64字符串
打开你之前转码得到的txt文件,完整复制里面的所有Base64内容,注意剔除首尾多余的空格、空行,不要遗漏字符。如果不确定之前的转码结果是否正确,可以重新对原始XML文件做一次Base64转码,确保转码源只有XML文件本身的内容,不包含文件名、文件路径等无关信息。 - 新建并配置基础请求信息
打开Postman新建请求,请求方法选择POST,在地址栏填入接口文档给出的完整请求地址。 - 配置提交参数
切换到请求的Body标签页:- 如果接口没有特殊说明提交格式,优先选择
x-www-form-urlencoded编码类型 - 如果接口明确要求是multipart表单格式,就选择
form-data
在参数列表的Key输入框填入filename,对应的Value输入框直接粘贴你之前准备好的整段Base64字符串即可。
注意:不要把存Base64内容的txt文件作为文件附件上传,接口需要的是编码后的字符串本身作为参数值,不是接收这个txt文件。
- 如果接口没有特殊说明提交格式,优先选择
- 发送请求验证
确认参数配置无误后,点击「Send」按钮发送请求,即可查看接口返回的响应结果。Postman会根据你选的Body类型自动补全对应的Content-Type请求头,不需要手动修改。
常见问题排查
- 如果接口返回文件解码失败,先检查粘贴的Base64字符串有没有被自动插入换行,很多文本编辑器打开长字符串会自动折行加换行符,要把所有多余的换行删掉,把Base64拼成连续的一整段再提交。
- 不要给Base64字符串加
data:application/xml;base64,这类Data URI前缀,除非接口文档明确要求携带,否则直接传纯Base64内容即可。 - 转码时确认只选中XML文件的原始内容转码,不要把本地文件的其他属性信息转进去,否则接口端解码得到的内容不是合法XML,会报格式错误。
内容的提问来源于stack exchange,提问作者Alessandro Mineo
相关产品推荐
相关产品推荐

