Not sure what parts am I missing
- вам не хватает идентификатора сеанса cookie, заголовка реферера и заголовка X-Requested-With: XMLHttpRequest
, а ваш заголовок Content-Type неверен (он должен быть Content-Type: application/json
), также страница входазагружая себя дважды, если вы посещаете его без сеанса cookie (сначала он получает сеанс cookie, а затем обновляется), вам, вероятно, следует выполнить команду suite для входа в систему.Вы специально упомянули Python, я не знаю, как это сделать в Python, но вот как я бы сделал это в PHP, с hhb_curl :
<?php
declare(strict_types = 1);
require_once ('hhb_.inc.php');
$hc = new hhb_curl ( '', true );
// getting cookie session and refresh (dunno why we need to refresh, but the login page javascript is doing it, so follow suite)
$hc->exec ( 'https://analytics.oag.com/analyser-client/home' )->exec ( 'https://analytics.oag.com/analyser-client/home' );
$response = $hc->setopt_array ( array (
CURLOPT_POST => 1,
CURLOPT_URL => 'https://analytics.oag.com/analyser-client/broker-services/login/validate',
CURLOPT_HTTPHEADER => array (
'Content-Type: application/json',
'Origin: https://analytics.oag.com', // i don't think curl set this header this automatically
'X-Requested-With: XMLHttpRequest'
),
CURLOPT_POSTFIELDS => json_encode ( array (
'username' => 'username?',
'password' => 'password?'
) )
) )->exec ()->getResponseBody ();
var_dump ( $response );
$parsed = @json_decode ( $response, true );
if (empty ( $parsed ) || $parsed ['status'] === 'ERROR') {
throw new \RuntimeException ( 'failed to login! ' . $response );
}