Ich versuche, eine XML-Datei zu activeMQ Server mit 'ElementTree' erzeugt senden mithilfe von Code Python django 'Anfragen' Bibliothek .My views.py ist:XML activeMQ mit Django
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")
und es gibt eine einfache Schaltfläche zum Senden auf der indexer.html Seite.
<html>
<head>
</head>
<body>
<form method="post" action="/xml/">{% csrf_token %}
<input type="submit" value="submit">
</form>
</body>
</html>
Wenn ich klicken eintragen filename.xml Datei ist zu erzeugen und dann erfolgreich zu activeMQ Server zu senden, aber activeMQ ich bin XML-Nachricht erhalten, die auch Header-Informationen enthält. Also, ist es möglich, nur Körperteile ohne Header zu senden oder wie Header auf der ActiveMQ-Seite wegzulassen und nur Body/Datenteil zu behalten? Bei activeMQ Ich erhalte folgende Meldung:
--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--