title: why does python requests.post accept json for data but not a dictionary
body: <p>The documentation seems to indicate I can pass 'data=' as a dictionary, but I get an error unless I use <code>json.dumps()</code></p>
  
  <pre><code>options = {
      "deviceId":["4d51de64-2235-a465-3aee-5ec495b5b250"],
      "serviceName":"software_manager",
      "serviceVersion":"1.0",
      "actionName":"Dump Log Files" }
  
  res = requests.post( req, data=json.dumps(options), auth=cred) 
  </code></pre>
  
  <p>If I try to pass options as a dictionary it fails.</p>
  
  <pre><code>res = requests.post( req, data=options, auth=cred) 
  
  data=json.dumps(options) # This works
  data=options             # this fails
  </code></pre>
  
  <p>Why? Am I missing something in the docs?</p>