2015-10-29 2 views
0

Мой сервер A. Существует еще один сервер B, у которого есть API под названием C. Когда я посмотрел на страницу, находящуюся на сервере B, я увидел, что он отправляет запрос AJAX POST в API C через ту же начальную политику.Как обойти политику одинакового происхождения при отправке HTTP-запроса API на другом сервере?

Как я могу обойти эту политику при отправке HTTP-запроса с моего сервера A в API C, который находится на другом сервере B?

+0

Вы не можете ........ это там по соображениям безопасности. Ну, если вы не можете переадресовать свой домен на сервер, который вы нажимаете, но я предполагаю, что это сторонний сервис, поэтому, вероятно, нет! – AdamJeffers

+0

@AdamJeffers Я действительно прочитал некоторые статьи об этом. Они упоминали что-то вроде JSONP или с помощью прокси-сервера и т. Д. Действительно ли они помогают в моем случае? –

+0

Если вы вызываете API напрямую через открытые конечные точки, у вас не должно быть проблем с CORS? – AdamJeffers

ответ

0

Если API C принимает формат form-urlencoded вы можете создать форму в своем приложении и вызывать Submit к URL-адресу C в B.

Или, вы можете прокси-вызова через ваш сервер A. В основном ваш клиентский POST на ваш сервер A и ваш сервер POST на B. Политика одинакового происхождения применяется только к браузерам, ничто не мешает вашему серверу выполнять POSTING.

В противном случае вам нужно будет включить CORS в С.

http://enable-cors.org/

Cross-Origin Resource Sharing (CORS) является спецификация, которая позволяет действительно открытый доступ через домен-границ. Если вы подаете публичный контент , пожалуйста, используйте CORS, чтобы открыть его для универсального Доступ к JavaScript/браузеру.