【发布时间】:2017-01-05 08:36:24
【问题描述】:
我正在尝试使用 python django 'requests' 库将使用 'ElementTree' 生成的 XML 文件发送到 activeMQ 服务器。我的 views.py 代码是:
from django.shortcuts import render
import requests
import xml.etree.cElementTree as ET
# Create your views here.
def index(request):
return render(request,"indexer.html")
def xml(request):
root = ET.Element("root")
doc = ET.SubElement(root, "doc")
field1 = ET.SubElement(doc,"field1")
ET.SubElement(doc, "field2", fame="yeah", name="asdfasd").text = "some vlaue2"
ET.SubElement(field1,"fielder", name="ksd").text = "valer"
tree = ET.ElementTree(root)
headers = {}
tree.write("filename.xml", encoding = "us-ascii", xml_declaration = 'utf-8', default_namespace = xml, method = "xml")
url = 'http://localhost:8082/testurl/'
headers = {'Content-Type': 'application/xml'}
files = {'file': open('filename.xml', 'rb')}
requests.post(url, files=files, headers = headers)
return render(request,"indexer.html")
indexer.html 页面上有一个简单的提交按钮。
<html>
<head>
</head>
<body>
<form method="post" action="/xml/">{% csrf_token %}
<input type="submit" value="submit">
</form>
</body>
</html>
当我单击提交按钮时,它正在生成 filename.xml 文件,然后将其成功发送到 activeMQ 服务器,但在 activeMQ 我收到的 XML 消息也包含标头信息。那么,是否可以只发送没有标题的正文部分,或者如何在 activeMQ 端省略标题并只保留正文/数据部分? 在 activeMQ 我收到以下消息:
--6dc760762ba245eb8e4c3d72aa38062b
Content-Disposition: form-data; name="file"; filename="filename.xml"
<root><doc><field1><fielder name="ksd">valer</fielder></field1><field2 fame="yeah" name="asdfasd">some vlaue2</field2></doc></root>
--6dc760762ba245eb8e4c3d72aa38062b--
【问题讨论】:
标签: python xml django jms activemq