title: How to send a “multipart/related” with requests in python?
body: <p>I'm trying to send a multipart/related message using requests in Python. The script seems simple enough, except that requests only seems to allow multipart/form-data messages to be sent, though their documentation does not clearly state this one way or another.</p>
  
  <p>My use case is sending soap with attachments. I can provide a dictionary with the two files whose contents are a test soap-message, and a test document that I'm trying to send. The first contains the soap message with all the instructions, the second is the actual document.</p>
  
  <p>However, if I don't specify a headers value, requests only seems to use multipart/form-data when using the files option. But if I specify headers in an attempt to specify a different multipart type, requests does not seem to add in the mime boundary information.</p>
  
  <pre><code>url = 'http://10.10.10.90:8020/foo'
  headers = {'content-type': 'multipart/related'}
  files = {'submission': open('submission_set.xml', 'rb'), 'document': open('document.txt', 'rb')}
  response = requests.post(url, data=data, headers=headers)
  print response.text
  </code></pre>
  
  <p>Is there a way to get this done using requests? Or is there another tool that I should be looking at?</p>