You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AS2协议发送带正确文件名的.xml文件?

解决AS2发送XML文件时文件名显示随机字符的问题

一、pyas2lib的正确文件名设置方式

你手动修改HTTP头无效,是因为pyas2lib会自动处理AS2协议的MIME头,直接修改Content-Disposition会被库的内置逻辑覆盖。正确操作是在创建发送消息时,直接指定filename参数:

  1. 构造Message对象时传入文件名参数:
from pyas2 import Message

# 假设已初始化as2sender(本地AS2配置)和partner(对方AS2配置)对象
msg = Message(
    sender=as2sender,
    receiver=partner,
    payload=open('my_file.xml', 'rb').read(),
    filename='my_file.xml',  # 这里明确指定目标文件名
    content_type='application/xml'
)
  1. 如果用的是自定义封装的库,检查封装逻辑是否正确传递了filename参数到pyas2lib的Message构造函数中,避免参数被遗漏或覆盖。

二、合作伙伴的配置要求

对方需要确保接收端的AS2服务正确解析文件名相关字段:

  • 接收端需启用对Content-Disposition头中filename字段的解析,部分AS2实现还会识别Original-FileName头来获取原始文件名;
  • 如果对方同样使用pyas2lib,需确保他们的接收逻辑从Message对象的filename属性提取文件名,而非生成随机名称。

三、验证消息头的正确性

发送后可通过日志或抓包确认AS2消息的MIME头是否包含正确配置:

Content-Disposition: attachment; filename="my_file.xml"
Content-Type: application/xml; name="my_file.xml"

如果头中没有这些字段,说明自定义库的封装逻辑存在参数丢失,需要排查代码中传递filename的环节。


内容的提问来源于stack exchange,提问作者maskalev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:58:44