gpt4 book ai didi

curl - 将 curl --data-urlencode 转换为 Ansible uri 模块

转载 作者:行者123 更新时间:2023-12-03 23:22:13 32 4
gpt4 key购买 nike

你会怎么翻译这个curl请求 ansible uri 模块?

curl -G http://localhost:8086/query?u=admin&p=password \
--data-urlencode "q=SHOW databases"

我不知道如何或将要放置 --data-urlencode部分

这是我到目前为止(不工作):
- name: Create influx users with POST
uri:
url: "http://localhost:8086/query/?u=admin&p=password"
method: GET
body: "q=SHOW databases"

我得到的错误是:

"error": "missing required parameter \"q\""



但是,以下方法有效:
- name: Create influx users with POST
uri:
url: "http://localhost:8086/ping"
method: GET
status_code: 204

编辑:最终工作解决方案

这个工作示例将向您展示您的 influxdb 的当前用户
- name: Create influx users with POST
uri:
url: "http://localhost:8086/query?q={{'SHOW USERS '|urlencode}}"
method: GET
user: admin
password: password

最佳答案

有一个urlencode在 Jinja 中过滤……但还有另一个问题。一个 GET请求没有正文;当你运行时:

curl -G 'http://localhost:8086/query?u=admin&p=password' --data-urlencode "q=SHOW databases"

实际发生的是:
GET /query?u=admin&p=password&q=SHOW%20databases

所以你需要像这样重写你的任务:
- name: Create influx users with POST
uri:
url: "http://localhost:8086/query/?u=admin&p=password?{{ 'q=SHOW databases'|urlencode }}"
method: GET

关于curl - 将 curl --data-urlencode 转换为 Ansible uri 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220243/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com