What is the difference between the data and json parameters in the python Requests package?
It is unclear from the documentation
Does this code:
import requests
import json
d = {'a': 1}
response = requests.post(url, data=json.dumps(d))
Note that we convert the dict
to JSON here ☝️ !
Do anything different than:
import requests
import json
d = {'a': 1}
response = requests.post(url, json=d)
If so, what? Does the latter automatically set the content-type
in the header to application/json
?
To answer my own question, it appears my two examples above do the same thing and that using the json
parameter does indeed set the content-type
in the headers to application/json
. In my first example above using the data
parameter, the content-type
in the headers would need to be set manually.