Клуб API Карт

Тестирование на локальном сервере

Пост в архиве.

Тестирую приложение с Я.Картами на локальном сервере, с именем типа *.local, который у меня в файле .hosts прописан.

Так вот, проблема такая: когда я пытаюсь обратиться к YmapsML-документу на этом самом локальном сервере, то получаю ошибку "Couldn't resolve host name"

При этом, если расположить xml-файл файл на рабочем сервере *.ru, то все работает в лучшем виде.

Это баг или фича? И как можно обойти?

12 комментариев
Сформулировано довольно странно -- с  моего компьютера документ находится в открытом доступе по http-протоколу. С Яндекса да, не находится, трактовка понятна, спасибо.

Но сразу возникает вопрос -- как же тогда все это отлаживать по-человечески?
Наш парсер должен получить доступ к вашему YMapsML-файлу. Самый простой вариант - это подключить белый IP и настроить свой веб-сервер, чтобы наружу отдавался нужный вам файл.

Мы подумаем что можно сделать для упрощения отладки на локального сервере.
Белый IP можно получить дома.
А на рабочем месте у меня, к примеру, государственный образовательный интернет через прокси-сервер, особо не побалуешь:)

У меня еще четкое ощущение складывается, что парсер иногда с сайтом не может сконтачить, и не может, в свою очередь, отдать ответ, выдавая invalid xml.

Было бы классно, кстати, в ошибке выдавать еще и номер строки, либо имя объекта, который был не понят: а то в руководстве не все однозначно, приходится экспериментировать, и не всегда успешно:)
Как вариант, можно тот парсер отдавать для установки на серверы. В качестве CGI-приложения.
Кстати очень давно хотел узнать - зачем этот файл кушается через яндекс?
Почему YMapsML грузится через сервера Яндекса:
1. Для того чтобы разобрать xml на сервере, и, например, провести симплификацию линий.
2. Обходится проблема кроссдоменного доступа.
3. Мы кешируем ответ, это сильно снижает нагрузку с конечного сервера. Т.е. xml с простенького сайта, можно выставлять на аудиторию Я.Карт.
Михаил Королев
28 января 2016, 06:54
а в чем проблема, сделайте чтобы парсер яндекса мог достучаться до файла, вы же не в локальной сети яндекса находитесь :)
См. выше. Иногда это можно сделать, иногда -- нет.
Михаил Королев
28 января 2016, 06:54
нужно чтобы можно. или использовать JS API :) 
Вот у меня тоже мысли появились, что проще свой парсер сделать, который будет грузить список точек, и конфиги стиля, больше-то в рамках задачи не надо.
Время загрузки сократится хорошо так.
Я выкладывал для эксперементов на народ.ру (может придется его переименовать в .xml, c gpx была одно время проблема)