我正在尝试在request.get中使用params参数来查询WFS服务。 Requests文档说params通常是一个字典,例如{'one':1,'two':2},这很好用。
但是,WFS允许通过添加字符串“ cql_filter”和过滤器参数来对查询中的某些字段进行过滤。
我想添加用于过滤查询的参数,但是这样做会添加字典的另一层(如JSON),因此在请求.get查询中不会正确格式化
。请求文档和类似的StackOverflow答案说要放{'some_field':[1,2,3]},但这是不够的,因为我需要的更像是JSON,例如
params = {'some_params':'some_values',
'cql_filter':{'date_field>=':'01-01-2019',
'search_field1':'kittens',
'search_field2':'puppies'}
}
试图将以上内容添加到Get命令之类
payload = requests.get(url, params = params)
print(payload.url)
产量
http://my_url.com/WFS/?some_params=somevalues&cql_filter=date_field>=&cql_filter=search_field1&cql_filter=search_field2
但这是对我的网站的无效搜索。我需要的是
http://my_url.com/WFS/?some_params=somevalues&cql_filter=date_field>=01-01-2019&search_field1='kittens'&search_field2='puppies'