Я пытаюсь использовать API анализа настроений для некоторых твитов, которые я транслировал. Рассматриваемый API выглядит так: http://sentiment.vivekn.com/docs/api/. Я уже делал это раньше в Python, и он работал как ожидалось. Я сделал пост-запрос, используя библиотеку запросов, и отправил объект JSON с моим контентом. Объект JSON выглядел примерно так:
{
"txt": "The content of the tweet."
}
В Python отправка почтового запроса выглядела примерно так:
url = "http://sentiment.vivekn.com/api/text/"
data_dict = {
"txt": "hi"
}
r = requests.post(url,json.loads(json.dumps(data_dict)))
print(r.text)
Теперь я признаю, что я новичок в Javascript и веб-программировании в целом, но я предполагаю, что логика должна быть одинаковой на обоих языках. Я пытался использовать метод XMLHttpRequest, но он всегда возвращал внутреннюю ошибку сервера с кодом состояния: 500.
Веб-сайт работает, он принимает почтовые запросы и отвечает анализом, но я не могу заставить его работать с Node. Это то, с чем я работаю в Javascript:
const rp = require('request-promise');
var options = {
method: 'POST',
uri: 'http://sentiment.vivekn.com/api/text/',
body: {
"txt": "This is a very negative sentence, so we should get a negative analysis!"
},
json: true // Automatically stringifies the body to JSON
};
rp(options)
.then(function (parsedBody) {
console.log("Request received");
console.log(parsedBody);
})
.catch(function (err) {
console.log("Something went wrong\n" + err);
});
Это всегда ловит ошибку с кодом состояния 500. Я пробовал несколько других методов, включая выполнение запроса с XMLHttpRequest. Ничто не похоже на работу. Было бы замечательно, если бы кто-то мог указать, где я иду не так.