CORS + обращениe к API другого домена

Балуюсь javascript в свободное время. Захотелось вдруг создать себе для личного пользования страницу, которая будет выводить баланс моей банковской карточки. Для этого, разумеется, я взялся использовать API, предоставленное банком.

До того времени я уже имел дело с запросами на удаленный сервер из видеоуроков. Например, я получал погоду с openweathermap API, или просто делал тестовые POST запросы на известный фейковый сервер jsonplaceholder. Всегда все работало. Тема запросов куда-либо меня нисколько не волновала.)

Но отправляя свой несчастный GET запрос в банк я столкнулся с:

Access to fetch at 'https://api.privatbank.ua/p24api/balance' from origin 'http://test.now' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Ошибка политики CORS, согласно которой, как оказалось, нельзя делать запросы на другой ресурс. Ошибку удалось обойти, я использовал расширение для Chrome, которое, как я понял, выступает вроде прокси и вставляет нужные заголовки ответа (Access-Control-Allow-Origin), получаемые от сервера...

Так или иначе, хотел бы уточнить.

  1. Выходит, что на одни "другие" ресурсы типа openweathermap я могу делать запросы, не получая ошибок CORS, а на другие ресурсы типа моего банка, где также общедоступное API - я не могу. Правильно ли я понимаю, что это происходит из-за того, что некоторые ресурсы, которые предоставляют API, изначально задают заголовки ответов, позволяющие обходить правила CORS, а другие ресурсы этого не делают?

  2. Как я еще понял, запросы вне браузера, то есть написанные на серверных языках - не будут проходить проверку CORS. Значит ли это, что для работы с API в большинстве случаев javascript - неподходящий язык? Ведь в готовом продукте ни о каком прокси речи не может идти, верно?

Заранее спасибо за разъяснения.


Ответы (0 шт):