Can you try using Wireshark or similar tool to make sure a post request is generated? To be honest it looks like a get request. The error page you get as a response is what you get also if you put that address in your browser
https://demo-api.ig.com/gateway/deal/session

On the other hand, if I try a POST with e.g. invalid credentials, I get a 400 BAD REQUEST
with a JSON body as response.
{
"errorCode": "error.security.invalid-details"
}