Я разработчик для большого приложения с графическим интерфейсом, и у нас есть веб-сайт для отслеживания ошибок.Любой желающий может отправить новую ошибку на сайт отслеживания ошибок.Мы можем обнаружить определенные сбои в нашем настольном приложении (то есть необработанное исключение), и в таких случаях мы хотели бы открыть форму submit-new-bug в предопределенном пользователем браузере, добавив любую информацию, которую мы можем собрать о сбое, внекоторые поля формы .Мы можем либо получить форму submit-new-bug, используя методы GET или POST http, и мы можем предоставить значения полей по умолчанию для этой формы.Так что со стороны http-сервера все в порядке.
Пока что мы можем успешно открыть URL, передавая значения по умолчанию в виде параметров GET в URL, используя модуль webbrowser
изСтандартная библиотека Python.Однако существуют некоторые ограничения этого метода , такие как максимально допустимая длина URL для некоторых браузеров ( особенно MS IE ).Модуль webbrowser
, похоже, не имеет способа запросить URL с помощью POST.OTOH есть модуль urllib2
, который обеспечивает необходимый нам тип управления, но AFAIK у него нет возможности открыть полученную страницу в браузере, предпочитаемом пользователем.
Есть лиспособ получить это смешанное поведение, которое мы хотим (иметь точный контроль urllib2
с функциональностью более высокого уровня webbrowser
)?
PS: мы подумали о возможности получения URL-адреса с помощью urllib2
, сохранения его содержимого во временном файле и открытия этого файла с помощью webbrowser
.Это немного неприятное решение, и в этом случае нам придется иметь дело с другими проблемами, такими как относительные URL-адреса.Есть ли лучшее решение?