'Calling a REST API with Api Id and key using Python
I am trying to send a request to get a token to an API.
curl -X POST "https://base_url/token"
-H "accept: application/json"
-H "Content-Type: application/json" -d "{ "appId": some_id, "appKey": some_key}"
This is what I did but I keep getting 400 error response:
import requests
headers = {'accept': 'application/json', "Content-Type": "application/json"}
method = "POST"
data = {
"appId": api_id,
"appKey": api_key
}
rsp = requests.request("POST", url, headers=headers, data=data)
This gives me a 400 error - Bad Request failed to read HTTP message.
In addition, please can anyone explain what -H and -d mean? I guess -H means headers?
Solution 1:[1]
You have to use json parameter instead of data. It should contain A JSON serializable Python object to send in the body of the Request.
rsp = requests.request("POST", url, headers=headers, json=data)
Solution 2:[2]
you can send you request with .post method if you want to send your payload as data:
rsp = requests.post(url, headers=headers, data=data)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Abdul Niyas P M |
| Solution 2 | Javad Nikbakht |
