1

我最近一直在使用 owsLib(请参阅http://geopython.github.io/OWSLib/

我正在尝试连接到 WFS 但需要进行身份验证。

我看到您可以将用户名和密码提供给 wms,但不能提供给 wfs。

有人知道如何完成这项工作吗?

或者我应该克隆源并调整它?(见https://github.com/geopython/OWSLib)这应该不会太难,因为我可以效仿 wms 的例子......但我无法想象我是第一个尝试登录 wfs 的人...... ..

我发现的所有示例、教程和文档都使用开放 WFS(因此不需要登录)

编辑 5-3-2014

我在 github 中发现了 2 个与此问题相关的问题:

首先缺少的文档不是很有帮助: https ://github.com/geopython/OWSLib/issues/70

其次,这可能会解决我的问题,但可能是长期的: https ://github.com/geopython/OWSLib/issues/111

我登录了 owslib 用户社区,所以我可以将我的问题通过电子邮件发送给这个组.. ( http://lists.osgeo.org/cgi-bin/mailman/listinfo/owslib-users )

编辑 2014 年 3 月 6 日

用户组的响应是,等待票 111 被解决...

另一种选择是我自己使用常规的python连接......我想问的事情并不那么复杂......

4

1 回答 1

0

使用 HTTPPasswordMgrWithDefaultRealm() 创建密码管理器。然后,使用它为管理器添加用户名密码。接下来,通过将密码管理器分配给 HTTPBasicAuthHandler 来创建授权管理器。然后,构建一个 opener 并将 opener 安装到 urllib2 中。

在调用 owslib 例程之前执行此操作(例如,对于 wfs 阅读器)。它工作得很好。

我会包含代码,但现在远离它。同时,我将包含一个指向 python Requests 的作者提供的示例(我知道是错误的形式)的链接。 https://gist.github.com/kennethreitz/973705

于 2014-05-30T21:59:04.743 回答