Я пытаюсь подключиться к локальному работающему серверу Restlet из python, но соединение зависает бесконечно (или время ожидания истекло, если я установил таймаут).
import urllib2
handle = urllib2.urlopen("http://localhost:8182/contact/123") # hangs
Если я использую curl
из оболочки для открытия вышеуказанного URL, результаты быстро возвращаются. Если я использую urllib2 для открытия другой локальной службы (например, веб-сервер Django на порту 8000), urllib2 работает нормально.
Я пытался отключить брандмауэр (я делаю это на OS X). Я попытался изменить localhost на 127.0.0.1. Журналы Restlet для соединения curl и urllib2 выглядят так же, как и пользовательский агент.
Мой обходной путь - просто позвонить curl
через subprocess
, но я бы лучше понял, почему это не получается.
Вот как выглядит мой ресурс Restlet:
public class ContactResource extends ServerResource {
@Get
public String represent() throws Exception {
return "<contact details>";
}
//....
}
Дайте мне знать, если вам нужна дополнительная информация / код