Я работаю над расширением Gnome-shell, и я застрял в использовании супа, чтобы связаться с сервером. В принципе, я хочу отправить запрос POST, который может быть выполнен после аутентификации. Если аутентификация, ответ, если содержимое JSON, а если не аутентифицировано, то контент ответа - HTML, приветственная страница сайта. Вот мой код до сих пор:Суп - запрос POST с аутентификацией
let session = new Soup.SessionSync();
session.user_agent = Me.metadata.uuid;
let authParams = {'login': 'xxx', 'password': 'xxx'};
let message = Soup.form_request_new_from_hash('POST', authURL, authParams);
session.queue_message(message, Lang.bind(this, function(session, response) {
global.log('AUTHENTICATE: ' + response.status_code + ' - ' + response.reason_phrase);
global.log('AUTHENTICATE: ' + response.response_body.data);
let msg = Soup.form_request_new_from_hash('POST', url, params);
session.queue_message(msg, Lang.bind(this, function(session, response) {
\t global.log(response.status_code + ' - ' + response.reason_phrase);
\t global.log(response.response_headers.get_one('content-type'));
}));
}));
Я могу видеть, что запрос аутентификации работает хорошо, в соответствии с ответом, но второй запрос возвращает мне содержание HTML. Я проверил в SoapUI, отправив эти 2 запроса, и он работает хорошо (я получаю некоторый контент JSON), когда я устанавливаю параметр «Ведение сеанса HTTP».
Поэтому я думаю, что мой session
не сохраняет аутентификацию при отправке второго запроса. Знаете ли вы, чего мне не хватает здесь, чтобы сохранить аутентификацию в моей сессии?
я альтернативно пытался использовать некоторые советы по следующей ссылке, но без успеха: Consume a webservice with basic authentication using Soup
Заранее спасибо за вашу помощь.