Python: запросить URL-адрес через POST и показать результат в браузере

Я разработчик большого приложения с графическим интерфейсом, и у нас есть веб-сайт для отслеживания ошибок. Любой может отправить новую ошибку на сайт отслеживания ошибок. . Мы можем обнаружить определенные сбои из нашего настольного приложения (то есть необработанное исключение), и в таких случаях мы хотели бы открыть форму submit-new-bug в предварительно определенном пользователем браузере, добавив любую информацию, которую мы можем собрать о сбое. в некоторые поля формы .Мы можем либо получить форму submit-new-bug, используя HTTP-методы GET или POST, либо предоставить в эту форму значения полей по умолчанию.Так что со стороны http-сервера все в порядке.

Пока что мы можем успешно открыть URL-адрес, передавая значения по умолчанию в качестве параметров GET в URL-адресе, используя модуль веб-браузера из стандартной библиотеки Python. Однако существуют некоторые ограничения этого метода , такие как максимально допустимая длина URL-адреса для некоторых браузеров ( особенно MS IE ). Модуль webbrowser , похоже, не имеет возможности запросить URL-адрес с помощью POST. OTOH есть модуль urllib2 , который обеспечивает нужный нам тип управления, но, как ни странно, у него нет возможности открыть полученную страницу в браузере, предпочитаемом пользователем.

Есть ли способ добиться такого смешанного поведения, которое мы хотим (иметь точный контроль над urllib2 с функциональностью более высокого уровня webbrowser )?

PS: У нас есть подумал о возможности получить URL с помощью urllib2 , сохранить его содержимое во временный файл и открыть этот файл с помощью webbrowser . Это немного неприятное решение, и в этом случае нам придется иметь дело с другими проблемами, такими как относительные URL-адреса. Есть ли лучшее решение?

5
задан Sergio 26 December 2011 в 16:09
поделиться