View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003422SAS.Планета[All Projects] Хотелкаpublic19-03-2019 07:1022-11-2019 16:31
Reporterzed 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version181221 
Target Version1912xxFixed in Version1912xx 
Summary0003422: Добавить альтернативную реализацию IDownloader и IDownloaderAsync на основе libcurl
DescriptionРеализация на основе WinInet перестала удовлетворять по нескольким причинам.
Наиболее веские:
- невозможно гибко ограничивать максимальное количество соединений с сервером (возможна только глобальная настройка для процесса)
- повсеместный переход сервисов на https и окончание поддержки WinXP/Win7 со стороны Microsoft, т.е. библиотека wininet не будет обновляться и вероятно, рано или поздно перестанет понимать новые алгоритмы/протоколы шифрования. И тут может сильно помочь внешняя библиотека в составе SAS (естественно, до тех пор, пока и в ней не дропнут поддержку этих операционок).
Additional InformationЗаголовочники libcurl или даже обёртку можно взять, например, из mORMot https://github.com/synopse/mORMot/blob/master/SynCrtSock.pas#L2417

В том же mORMot, кстати говоря, есть унифицированные и взаимозаменяемые обёртки для WinInet, WinHttp и cUrl. Так что, вероятно, и нашу текущую обёртку WinInet от Alsinoe можно заменить на эту.
TagsNo tags attached.
Attached Files? file icon normaliz.dll [^] (23,552 bytes) 06-11-2019 17:29
zip file icon Normaliz.WinXP.SP3.zip [^] (13,557 bytes) 06-11-2019 17:51

- Relationships
parent of 0003421resolvedzed SAS.Планета Сделать фабрику для создания IDownloader и IDownloaderAsync 
parent of 0001187closedTolik SAS.Планета Не работают карты с длинным URL 
parent of 0003562resolvedzed SAS.Планета Не работает поиск по кадастровому номеру росреестра 
related to 0003469resolvedzed Доработка карты (ZMP) Не грузятся слои росреестра 
related to 0003587resolvedzed SAS.Планета В Настройки добавить выбор типа прокси сервера 

-  Notes
(0019406)
zed (manager)
30-10-2019 11:15

В ночной версии можно начинать тестировать. Чтобы заработала новая качалка в папку с SAS нужно распаковать архив с библиотекой libcurl: https://yadi.sk/d/FR_7U7bbbiEr6w

Из известных недоделок:
- игнорируются настройки прокси
- игнорируются настройки максимального числа соединений с сервером

Если в процессе тестирования возникнут какие-либо ошибки, надо взять вот этот exe: https://yadi.sk/d/1ZuSPnnUEV6sfw воспроизвести ошибку на нём, закрыть SAS и приложить сюда (или выложить на обменник) содержимое папки HttpLog, которая появится в корне программы.
(0019409)
Tolik (manager)
30-10-2019 12:35

Супер! Спасибо!
Заработал слой Росреестра и поиск по нему.

Правда, слой отображается какими-то пятнами, надо подвигать туда-сюда, чтобы все тайлы скачались. Ошибка 503 вылезает иногда из кадастровой карты, а другие нормально работают, понаблюдаю ещё
(0019411)
gera5 (reporter)
30-10-2019 14:07

Ура заработал слой с земельными участками!!!
Спасибо Огромное!!!
(0019418)
zed (manager)
31-10-2019 19:23

> Ошибка 503 вылезает иногда из кадастровой карты
Возможно не нравится слишком большое число одновременных подключений к серверу. Задайте в настройках карты 1.

И кстати, оказывается, с лимитом числа соединений уже было всё в порядке. И есть улучшение по сравнению со старой качалкой: если у карты поставить лимит больше, чем задано глобально (на вкладке Настройка) число соединений увеличивается, как и задумано. А вот старая качалка не могла так - верхний лимит был всегда для всех карт задан этой глобальной настройкой.

Сегодня ещё кое-что поправил в коде и по сути, в качалке осталось только разобраться с настройками прокси. Следом ещё надо будет провести небольшой рефакторинг, убрать дублирование кода и, возможно, добавить в настройки переключатель - какую качалку использовать.
(0019419)
Tolik (manager)
01-11-2019 06:46

Поставил 1 подключение и даже паузу 1000 мс - все равно, один тайл скачивается, один - 503. Но это только Росреестр, с другими проблем нет, так что curl в порядке, я думаю.
(0019434)
VMatveev (reporter)
06-11-2019 17:15
edited on: 06-11-2019 17:37

К сожалению, у меня эта долгожданная фича не работает — при запуске САС-а пишет: "Приложению не удалось запуститься, поскольку Normaliz.dll не был найден." :( Версия Nightly.191102.10051, ОС Windows XP SP2.
После пары минут гугления нашел-таки эту dll-ку, совместимую с моей версией винды, проверил её на вирусню в VirusTotal, кинул её в C:\WINDOWS\system32 - ура, заработало! Прикрепил её.
Я счастлив, что САС теперь умеет в https и на старушке XP! Спасибо огромное!

(0019435)
zed (manager)
06-11-2019 17:51

Для SP2 раньше был пакет idndlpackage.exe, который устанавливал эту библиотеку. Но сейчас он удалён с сайта MS.

У меня в тестовой WinXP SP3 эта библиотека есть, прикладываю её к тикету, попробуйте положить в папку с SAS.

Ну и я бы рекомендовал вам обновить винду до SP3.
(0019440)
zed (manager)
14-11-2019 17:29

Добавил поддержку прокси.
(0019443)
zed (manager)
15-11-2019 10:43

Добавил в гуй возможность выбора какую качалку использовать и немного реорганизовал настройки прокси.

Названия Network engine и используемых библиотек не переводил, т.к. пока не уверен, что выбрано удачные названия. Может кто-то предложит что-то другое?

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

На этом, можно сказать, что всё что я планировал сделать, сделано. Тикет пока не закрываю, на случай если вдруг всплывут неожиданные косяки.
(0019448)
Tolik (manager)
17-11-2019 05:27

> немного реорганизовал настройки прокси
Это в какой версии? В версии 15/11 вроде не изменились, а новее пока нет.

SOCKS прокси через curl не работает.
И надо нормально сделать настройку SOCKS, а то сейчас приходится вводить нетривиальную строку, например, socks=localhost:6262
Эта строка в версии 15/11 работает только через Wininet.

Переключалка Network engine работает, название годится.
(0019449)
zed (manager)
17-11-2019 06:58

Если есть переключалка, то и прокси будет.

В curl протокол прокси надо вводить в стандартном виде,а не через равно. Т.е. так: socks5://127.0.0.1:1025
(0019450)
Tolik (manager)
17-11-2019 12:53

Да, с такой строкой работает: socks5://localhost:6262
Тем более, хотелось бы настройку через ГУИ. Или, если лень, то хоть подсказку там.

Ещё заметил: при переключении с ручной настройки прокси на системную пишет, что надо перезапустить САС. На самом деле не надо (по крайней мере, с curl).
(0019451)
zed (manager)
17-11-2019 18:07

Да, можно сделать настройку и, кстати, WinInet поддерживает 2 типа прокси http и socks4, а curl умеет целых 6: http, https, socks4, socks4a, socks5, socks5h.

- Users who viewed this issue
User List Anonymous (732x), Tolik (29x), zed (31x), gera5 (10x), vdemidov (16x), rass (9x), kalakotkas (1x), VMatveev (8x), berla (2x), Vladislava (1x), Hkepts (3x), Garl (2x), babaitsev (4x), Oniman777 (1x), ingener (1x)
Total Views 850
Last View 15-12-2019 21:38

- Issue History
Date Modified Username Field Change
19-03-2019 07:10 zed New Issue
19-03-2019 07:11 zed Status new => confirmed
19-03-2019 07:11 zed Relationship added parent of 0003421
27-03-2019 12:24 vdemidov Relationship added parent of 0001187
23-07-2019 14:16 vdemidov Target Version 190707 => 1912xx
23-07-2019 16:56 vdemidov Target Version 1912xx => 20xxxx
26-07-2019 07:24 zed Relationship added related to 0003469
07-10-2019 19:00 zed Relationship added parent of 0003562
30-10-2019 10:52 zed Assigned To => zed
30-10-2019 10:52 zed Status confirmed => assigned
30-10-2019 10:52 zed Target Version 20xxxx => 1912xx
30-10-2019 11:15 zed Note Added: 0019406
30-10-2019 12:35 Tolik Note Added: 0019409
30-10-2019 14:07 gera5 Note Added: 0019411
31-10-2019 19:23 zed Note Added: 0019418
01-11-2019 06:46 Tolik Note Added: 0019419
06-11-2019 17:15 VMatveev Note Added: 0019434
06-11-2019 17:29 VMatveev File Added: normaliz.dll
06-11-2019 17:37 VMatveev Note Edited: 0019434 View Revisions
06-11-2019 17:51 zed Note Added: 0019435
06-11-2019 17:51 zed File Added: Normaliz.WinXP.SP3.zip
14-11-2019 17:29 zed Note Added: 0019440
15-11-2019 10:43 zed Note Added: 0019443
17-11-2019 05:27 Tolik Note Added: 0019448
17-11-2019 06:58 zed Note Added: 0019449
17-11-2019 12:53 Tolik Note Added: 0019450
17-11-2019 18:07 zed Note Added: 0019451
21-11-2019 14:58 zed Relationship added related to 0003587
22-11-2019 16:31 zed Status assigned => resolved
22-11-2019 16:31 zed Fixed in Version => 1912xx
22-11-2019 16:31 zed Resolution open => fixed



Copyright © 2007 - 2019 SAS.Planet Team