jmakc писал(а):Конкретный вопрос
1.Каким образом (какой запрос) заставить сервер выдавать картинку просмотра (выдаваемую после нажатия на ссылку- предварительный просмотр).
2.Вообще возможно-ли напрямую прикрутить данный сайт к SAS? т.к. сервер интерактивный соответственно при каждом запросе формируется самостоятельная картинка (на мои попытки прикрутить программа ругалась на непредусмотренный ответ сервера, хотя при просмотре запроса выдаваемого sas в браузере картинка грузится).
3. Если невозможно или нерационально прикручивать сервис к sas напрямую, нужен скрипт, позволяющий по списку адресов загружать страницы сайта ждать полной загрузки, затем загружать следующую страницу. Прошу не пинать меня ногами указывая, что в рунете огромное количество таких скриптов. Откровенно искал, не нашел.
Вахх, кошмар какой. Я просил
конкретных вопросов по типу "Хочу получить Х, делаю Y - но почему-то получается Z, и где я делаю не так?"
Вопросы же по типу "Каким образом мне сделать X?" - вызывают лишь желание ответить "Всё, что Вам нужно - это просто сделать Х и получить искомое".
Итак, ближе к телу как говорил Мопассон. Искомый подопытный выдает нетайловые картинки, причем просматриваемые туда\сюда только в одном месте: на главной странице в маленьком окошечке в середине страницы. Картинка генерится каждый раз новая, статического адреса нет, логики перехода на соседние тайлы [пока] нет - что кагбэ намекает нам о том, что подключить ЭТО к САСу без бубна и заячьей лапки будет тем еще квестом вовсе не для начинающих собаководов Вашего городка.
Итак - картинка. Картинка приходит каждый раз одним файлом ровно по размеру главного окошечка просмотра. приходит с сервера
http://tsms.terraserver.com/ и управляется единым параметром себя - параметром "?img_key=" в запросе.
Вот несколько картинок одного и того же места при последовательном приближении:
- скрытый текст: показать
- http://tsms.terraserver.com/?img_key=20BB8717-1E7E-4FDF-BCED-ED347934F36D
http://tsms.terraserver.com/?img_key=2B ... B3EADAA06E
http://tsms.terraserver.com/?img_key=C7 ... 5E8AC59415
http://tsms.terraserver.com/?img_key=9E ... 5033A2ED27
http://tsms.terraserver.com/?img_key=9E ... 5033A2ED27
http://tsms.terraserver.com/?img_key=01 ... B56BB23151
(Заодно и посмотрим, как долго проживут эти картинки - не удаляются ли на сервере со временем?)
То есть, вывод раз: зная конкретный ключ нужной картинки - ее можно взять с сервера без особых проблем.
И вывод два: лого на этих картинках - всего лишь в виде мелкой надписи текстом в левом нижнем углу, а цветные квадратики в окне главного просмотра - это от лукавого и накладываются Б-гомерзкой Явой на стороне клиента.
Смотрим, как генерится ключ и откуда он вообще берется. А берется он, как показывает препарация поциэнда - со строчки типа
- Код: Выделить всё
<img id="imImg" onload="imLoad(); return false;" src="http://tsms.terraserver.com/?img_key=01F36C9E-16A0-4D49-9302-E5B56BB23151" style="position: absolute; left: 0; top: 0; width: 525px; height: 360px" galleryimg="no" alt="" />
в сорце основной страницы сайта, получив кое - браузер и забирает картинку. Картинке браузером выделяется место, как мы видим - 525x360 размером, и ровно такая же приходит от сервера (то есть, на стороне браузера не делается никаких преобразований над нею, что ему дали - то он и показал).
Далее: откуда берется сорц основной страницы? А берется он с сервера в ответ на тот или иной клик юзера в окошечке просмотра. То есть, сперва грузится главная страница сервера с просмотрщиком и дефолтовой картинкой, далее юзер кликает на той или иной стрелочке, браузер отправляет это на сервер запросом вида
- Код: Выделить всё
http://www.terraserver.com/view.asp?cx=151.20688960000007&cy=-33.873651&proj=4326&mpp=5&pic=-1&prov=-1&stac=-1&sdrt=jax
, сервер в ответ присылает HTML страницы с уже вшитым ключом конкретной картинки, браузер ее забирает и показывает пред морду пользователя и начинает ждать следующего клика, далее - повторить пока не надоест.
То есть, исходя из вышесказанного - имеем логику работы всего процесса:
1. Сгенерировать тот или иной "имитатор клика юзера в браузере"
2. Сделать соответствующую строку запроса на сервер
www.terraserver.com/view.asp3. Получить от него HTML-страницу в ответ.
4. Распарсить ее на предмет строки "src="http://tsms.terraserver.com/?img_key="
5. Взять ключ картинки.
6. Забрать эту картинку с сервера
http://tsms.terraserver.com/7. Опционально - обрезать лого и вообще сделать ее 256х256 (простор для творчества тут - просто огромный)
8. Положить готовый результат в папку кэша САСа куда нужно.
9. Запустить САСа и наслаждаться в режиме "только кэш"
Разумеется, шаги 1...8 голым САСом НЕ сделать, и еще весьма долго не. Пишите свой костыль. Ну или я когда-нибудь сподоблюсь и укачаю его весь сугубо ради принципа и интеллектуального вызова - но быстро не обещаю, пока что я не вижу там ничего интересного. Там обычные банальные карты DG в виде отдельных листов.
PS: на погоны - в том же сорце страницы есть кучка инструментов для манипулирования запросом картинки на сервер:
- скрытый текст: показать
- Код: Выделить всё
<input type="hidden" name="valReq" id="valReq" value="y" />
<input type="hidden" name="iw" id="iw" value="525" />
<input type="hidden" name="ih" id="ih" value="360" />
<input type="hidden" name="cx" id="cx" value="336000" />
<input type="hidden" name="cy" id="cy" value="-3749584" />
<input type="hidden" name="ww" id="ww" value="393.75" />
<input type="hidden" name="wh" id="wh" value="270" />
<input type="hidden" name="ulx" id="ulx" value="335803.125" />
<input type="hidden" name="uly" id="uly" value="-3749449" />
<input type="hidden" name="brx" id="brx" value="336196.875" />
<input type="hidden" name="bry" id="bry" value="-3749719" />
<input type="hidden" name="proj" id="proj" value="32656" />
<input type="hidden" name="zl" id="zl" value="4" />
<input type="hidden" name="mpp" id="mpp" value="0.75" />
<input type="hidden" name="prov" id="prov" value="dg" />
<input type="hidden" name="stac" id="stac" value="5d1ff1cb5e87923a088c646fb07430b0" />
<input type="hidden" name="lay" id="lay" value="5d1ff1cb5e87923a088c646fb07430b0" />
<input type="hidden" name="ovrl" id="ovrl" value="-1" />
<input type="hidden" name="drwl" id="drwl" value="-1" />
<input type="hidden" name="pic" id="pic" value="img" />
<input type="hidden" name="reso" id="reso" value="0.5" />
<input type="hidden" name="datet" id="datet" value="8/4/2011" />
<input type="hidden" name="rank" id="rank" value="0" />
<input type="hidden" name="vic" id="vic" value="" />
<input type="hidden" name="meas" id="meas" value="off" />
<input type="hidden" name="mtype" id="mtype" value="line" />
<input type="hidden" name="munit" id="munit" value="m" />
<input type="hidden" name="horzLine" id="horzLine" value="0.0" />
<input type="hidden" name="vertLine" id="vertLine" value="0.0" />
<input type="hidden" name="thisLine" id="thisLine" value="0.0" />
<input type="hidden" name="totalLine" id="totalLine" value="0.0" />
<input type="hidden" name="thisArea" id="thisArea" value="0.0" />
<input type="hidden" name="totalArea" id="totalArea" value="0.0" />
<input type="hidden" name="lineColor" id="lineColor" value="#ffffff" />
<input type="hidden" name="lineWidth" id="lineWidth" value="3" />
<input type="hidden" name="mPointX" id="mPointX" value="" />
<input type="hidden" name="mPointY" id="mPointY" value="" />
(например iw, ih - это явно размер картинки, который мы просим с сервера...намек понятен? Попробуйте попросить например 10000х10000 и взять нужное одной картинкой... :)