Опишите проблему
Я не совсем уверен, является ли это проблемой Axe ios или нет. Следующий код успешно выполняется на моей локальной машине для разработки, но всегда истекает время, когда я запускаю его из облака (например, AWS Lambda). То же самое происходит, когда я запускаю на repl.it.
Я могу подтвердить, что AWS Lambda имеет доступ к Inte rnet и работает для любого другого API, но это:
https://www.target.com.au/ws-api/v1/target/products/search?category=W95362
Пример кода
https://repl.it/repls/AdeptFluidSpreadsheet
const axios = require('axios');
const handler = async () => {
const url = 'https://www.target.com.au/ws-api/v1/target/products/search?category=W95362';
const response = await axios.get(url, { timeout: 10000 });
console.log(response.data.data.productDataList);
}
handler();
Окружающая среда
- Ax ios Версия: 0.19.2
- Время выполнения: nodejs12x
Обновление 1
Я попробовал нативное требование ('https'), и оно истекло на локальном и облачном серверах. Пожалуйста, найдите образец кода здесь: https://repl.it/repls/TerribleViolentVolume
const https = require('https');
const url = 'https://www.target.com.au/ws-api/v1/target/products/search?category=W95362';
https.get(url, res => {
var body = '';
res.on('data', chunk => {
body += chunk;
});
res.on('end', () => {
var response = JSON.parse(body);
console.log("Got a response: ", response);
});
}).on('error', e => {
console.log("Got an error: ", e);
});
Опять же, я могу подтвердить, что тот же код работает на любом другом API.
Обновление 2
Я подозреваю, что это что-то на стороне сервера, поскольку оно также ведет себя очень странно с curl.
- curl от локального -> 403 доступ запрещен
- curl от локальный с заголовком User-Agent -> success
- curl с облачного сервера -> 403 доступ запрещен
Это должна быть проверка на стороне сервера, что-то связанное с AkamaiGHost.