Вызов clojure.xml/parse
с параметром String
(URI) похож на этот код Java:
SAXParserFactory.newInstance().newSAXParser().parse("<your_uri>", <instance of XMLHandler provided by Clojure>);
Clojure не выполняет запрос HTTP GET.Он просто использует SAX-парсер в качестве парсера по умолчанию.Внутренний синтаксический анализатор Sax создает экземпляр XMLInputSource
и передает его до XMLEntityManager
.Класс XMLEntityManager
выполняет всю работу, связанную с открытием соединения и получением вашего xml (или более похожего на html) документа:
URL location = new URL(expandedSystemId);
URLConnection connect = location.openConnection();
... skip ...
stream = connect.getInputStream();
Если XmlInputSource
является экземпляром HTTPInputSource
, тогда XMLEntityManager
устанавливаетсвойства HTTP-запроса.Однако для XMLInputSource
подобной функциональности нет (что и есть в случае с SAXParser).
Полагаю, вам может помочь изменение парсера SAX на другую реализацию.