Я пытаюсь выполнить http-запросы из своего веб-приложения Google App Engine и обнаружил, что мне нужно использовать URLConnection, так как это единственный класс в белом списке. Соответствующая библиотека Clojure является clojure.contrib.http.agent, и мой код выглядит следующим образом:http-запрос от Google App Engine
(defroutes example
(GET "/" [] (http/string (http/http-agent "http://www.example.com")))
(route/not-found "Page not found"))
Это прекрасно работает в моем развитии охраны окружающей среды, браузер отображает текст для example.com. Но когда я тестирую его с помощью сервера приложений для разработки Google:
phrygian:example wei$ dev_appserver.sh war
2010-09-28 14:53:36.120 java[43845:903] [Java CocoaComponent compatibility mode]: Enabled
...
INFO: The server is running at http://localhost:8080/
Он просто зависает, когда я загружаю страницу. Ошибок нет. Любая идея, что может быть?
ли 'HTTP-agent' создавать темы? Я понимаю, что App Engine это не нравится. – ponzao
hmm хороший вопрос. Знаете ли вы, есть ли такая версия, не имеющая резьбы? – yayitswei
Вы можете попробовать «http-connection» http://richhickey.github.com/clojure-contrib/http.connection-api.html, который, по-видимому, представляет собой довольно низкоуровневую оболочку вокруг «HttpURLConnection». Или просто используйте 'URLConnection'. После обеда я попытаюсь посмотреть больше вариантов. – ponzao