Я пытаюсь отправить запрос в облако частиц из приложения NodeJS. Я использую Ax ios, чтобы сделать запрос PUT. Приложение отправляет запрос через прокси-сервер, который также настроен.
// axios proxy - not working
axios.default.put("https://api.particle.io/v1/devices/<deviceId>/ping", {}, {
proxy: {host: <proxy_ip>, protocol:'http', port:<port_no>},
headers: {
authorization: "Bearer <access_token>"
}
}).then((response) => {
console.log("Success", response.data);
}).catch((error) => {
console.log("Failed", error);
});
Сообщение об ошибке: Запрос не выполнен с кодом состояния 400
Когда я отправляю этот запрос Я получаю ответ 400 Bad Request от облака частиц. Но когда я отправляю тот же запрос, используя модуль запроса NodeJS, запрос выполняется успешно.
var options = {
method: 'PUT',
url: 'https://api.particle.io/v1/devices/<device_id>/ping',
proxy: {hostname: <proxy_ip>, protocol:'http', port:<port_no>},
headers:
{
authorization: 'Bearer <access_token>'
},
form: false
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(response);
});
Ответ: body: '{"online": false, "ok": true } '
Запрос также работает, когда приложение было развернуто в открытой сети, а ax ios использовался без конфигурации прокси.
// axios without proxy - working
axios.default.put("https://api.particle.io/v1/devices/<deviceId>/ping", {}, {
headers: {
authorization: "Bearer <access_token>"
}
}).then((response) => {
console.log("Success", response.data);
}).catch((error) => {
console.log("Failed", error);
});
Вопросы:
- Почему запрос от Ax ios не выполняется с настройкой прокси?
- Это присущая Ax ios?
Regards.