Я пытаюсь ввести кнопки на веб-сайте клиента для легкой отправки URL-адресов моему экземпляру pyload. Я уже делал аналогичную вещь для создания пакетов в локальном экземпляре jDownloader, поэтому я не слишком далеко отсюда.
Мне уже удалось успешно поговорить с pyload API с помощью curl:
curl -s -d "username=myusername&password=mypassword" -X POST http://MYPYLOADINSTANCE:8000/api/login
, который возвращает мне - как и должно быть - идентификатор сеанса, который мне нужен для продолжения использования API.
Однако, когда я пытаюсь сделать тот же самый вызов из Tampermonkey с GM_xmlhttpRequest, я всегда получаю успех с responseText 'false' - это означает, что аутентификация не была успешной:
GM_xmlhttpRequest ( {
context: { contextData: 'foo', contextData2: 'bar' }, // <- ignore that, only for testing
method: 'POST',
data: 'username=myusername&password=mypassword',
synchronous: false,
url: 'http://MYPYLOADINSTANCE:8000/api/login',
onload: function(responseDetails) { alert(responseDetails.responseText
+ '\n' + responseDetails.context.contextData); },
onerror: function(responseDetails) { alert(responseDetails); },
onabort: function(responseDetails) { alert(responseDetails); }
});
Мой вопрос: что я делаю не так, где разница (для сервера / pyload) между использованием curl и использованием GM_xmlhttpRequest? Я думал, что это должно привести к тому же самому запросу?
И нет, к сожалению, я не вижу ничего в pyload-журналах. : - (