Страница 1 из 1
					
				BOM в GetCapabilities
				Добавлено: 30 июн 2015, 14:01
				 Denis Rykov
				Код: Выделить всё
>>> import requests
>>> req = requests.get('http://maps.kosmosnimki.ru/TileService.ashx/apikeyU96GP973UH?SERVICE=WMS&Request=GetCapabilities&VERSION=1.1.1')
>>> req.content[:8]
'\xef\xbb\xbf<?xml'
На этом спотыкается всё тот же OWSLib. Может кто-то пояснить, уместно ли передавать BOM в GetCapabilities, если да, то будем чинить OWSLib.
 
			
					
				Re: BOM в GetCapabilities
				Добавлено: 30 июн 2015, 14:18
				 SergeyRyzhkov
				Денис,
BOM - Byte order mark  

 ? Имеете ввиду ?
 
			
					
				Re: BOM в GetCapabilities
				Добавлено: 30 июн 2015, 14:25
				 Denis Rykov
				Да, именно его.
			 
			
					
				Re: BOM в GetCapabilities
				Добавлено: 30 июн 2015, 14:29
				 SergeyRyzhkov
				Не использую OWSLib, но я когда делал библиотеки для работы по стандартам OGC, то для MWS предусматривал помимо обязательных параметров для GetCapabilities (наименование сервиса, имя запроса и номер версии) еще дополнительные параметры.
Так что думаю было бы не плохо и Вам предусмотреть.
Или я не так понял 

 ?
UPD: Да, не так понял. Прошу прощения 

 
			
					
				Re: BOM в GetCapabilities
				Добавлено: 30 июн 2015, 15:02
				 Ariki
				Denis Rykov писал(а):Может кто-то пояснить, уместно ли передавать BOM в GetCapabilities, если да, то будем чинить OWSLib.
BOM вообще мало где уместен. В частности, он ломает совместимость UTF-8 с ASCII и вообще мало где используется за пределами экосистемы Windows. Многие опенсорсные инструменты не умеют работать с ним правильно. В Python, например, при чтении UTF-8 надо явно указывать кодировку utf-8-sig. Собственно, в UTF-8 BOM используется не для указания порядка байт, а как помощь в идентификации кодировки. Но в XML кодировка UTF-8 и так используется по умолчанию, вдобавок её можно указать в прологе документа XML.
 
			
					
				Re: BOM в GetCapabilities
				Добавлено: 30 июн 2015, 16:06
				 mamont80
				В Геомиксере убрал BOM, не мучайтесь.
Он там был не преднамеренно.