是否将授权标头返回到QGIS?

2024-04-29 08:11:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个可以与QGIS一起使用的WMS API。我希望能够在我正在构建的FlaskAPI中的QGIS和GeoServer(我的数据存储在这里)之间提供一个额外的授权层

我从QGIS需要的是一个基本的授权头,我可以读取和验证对我自己的数据库

我的想法是,QGIS将首先发送一个WMS请求,而无需任何授权头,然后应使用基本授权重试。我的问题是,我不知道如何返回到QGIS,授权头是必需的,这样它就可以发送另一个请求

我的API在没有授权的情况下工作,可以将数据从QGIS传递和返回到Geoserver,并将Geoserver返回到QGIS。但是我想使用基本授权来保证它的安全

以下是我目前掌握的代码:

def get(self):
    print(request.args)
    print(request.headers)

    if 'Auth' not in str(request.headers):
        url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
        res = requests.get(url)
        return Response(res, mimetype='text/xml')

    url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
    res = requests.get(url, auth=('<username>', '<password>'))
    return Response(res, mimetype='text/xml')

'''


Tags: 数据apiurlgetrequestresgeoserverheaders