我是一个大型GUI应用程序的开发人员,我们有一个用于缺陷跟踪的网站。任何人都可以向缺陷跟踪站提交新的缺陷。我们可以从我们的桌面应用程序中检测到某些故障(即未处理的异常),在这种情况下,我们希望在用户预定义的浏览器中打开提交新错误表单,向一些表单字段添加我们可以收集到的有关故障的任何信息。我们可以使用GET或POST http方法检索提交新错误表单,并且我们可以为该表单提供默认字段值。因此,从http服务器端来看,一切都相当顺利。
到目前为止,我们可以使用 Python 标准库中的
到目前为止,我们可以使用 Python 标准库中的
webbrowser
模块 成功打开 URL 并将默认值作为 GET 参数传递给 URL。然而,这种方法存在一些 限制,例如某些浏览器(特别是 MS IE)允许的 URL 最大长度。 webbrowser
模块似乎没有以 POST 方式请求 URL 的方法。另一方面,有 urllib2
模块 提供了我们想要的控制类型,但据我所知,它缺少在用户首选浏览器中打开检索到的页面的可能性。
是否有一种方法可以获得我们想要的混合行为(即具有 urllib2
的精细控制和 webbrowser
的高级功能)?
附注:我们考虑过使用 urllib2
检索URL,将其内容保存到临时文件中,然后使用 webbrowser
打开该文件。这是一种不太好的解决方案,在这种情况下,我们还必须处理其他问题,如相对URL。是否有更好的解决方案?