Создание веб-клиента в Dart

Я начинаю с Dart и хочу создать приложение, чтобы сделать http-запрос на веб-страницу и, возможно, преобразовать его в расширение Chrome, и все это с Dart.

У меня проблема в том, что я не знаю, как отправить HttpRequest на эту страницу "http://www.1001tracklists.com/", чтобы получить html-контент, а затем организовать все сеансы в моем приложении с помощью html и css.

Все, что я пробовал, это сделать нормальный HttpRequest, но я получаю ошибку из-за CORS-запроса, и я понятия не имею, как решить проблемы с заголовками.


person ELKOKACOLO    schedule 24.12.2013    source источник


Ответы (3)


Серверу потребуется внести изменения, чтобы включить заголовки CORS, чтобы разрешить удаленным запросам запрашивать ресурсы со своего сервера.

Большинство (все?) современных браузеров автоматически включают CORS, поэтому любые запросы от них будут автоматически создавать заголовок Origin: в запросе. Если на принимающем сервере нет заголовка Access-Control-Allow-Origin:, соответствующего вашему происхождению, запрос не будет выполнен.

Альтернативой может быть сценарий на вашем сервере, запрашивающий данные, и вы опрашиваете свой собственный сервер для получения данных. Дополнительные сведения см. в спецификации CORS.

person Matt B    schedule 24.12.2013
comment
Хотя в общем случае это верно, вопрос, связанный с Google Chrome Extension, кардинально меняет ситуацию (взгляните на Ответ Зига Манделя). - person gkalpak; 25.12.2013

С расширениями Chrome вы можете обойти cors, просто указав URL-адреса, к которым вам нужно получить доступ, в своем манифесте. Поищите в расширениях хрома. См.: http://developer.chrome.com/extensions/declare_permissions.html.

person Zig Mandel    schedule 24.12.2013

Вам нужно добавить заголовки CORS, как указано выше, если вы контролируете свою серверную часть, или настроить apache/nginx, чтобы сделать это за вас в качестве обратных прокси, или вам нужен доступ к прокси-серверу CORS.

Посмотрите здесь, чтобы узнать, может ли это вам помочь.

person user2685314    schedule 24.12.2013