windows - Ansible win_uri 模块不返回 POST 查询的内容
问题描述
我尝试在 POST 查询后从页面中获取一些数据。我正在使用 ansible 2.9.10。但是其中的 win_uri 模块不返回响应的内容。但是 Invoke-WebRequest 在同一主机上工作。
win_uri:
method: POST
url: "{{ configuraton_url }}"
body: "{'action': 'listconfig'}"
validate_certs: no
use_default_credential: yes
return_content: yes
register: configuration
结果
configuration:
cache_control: private
changed: false
character_set: null
content: ''
content_encoding: ''
content_length: '0'
content_type: ''
cookies: []
date: Mon, 29 Jun 2020 20:17:29 GMT
elapsed: 0.1875025
failed: false
headers:
- Persistent-Auth
- Content-Length
- Cache-Control
- Date
- Server
- WWW-Authenticate
- X-AspNet-Version
- X-Powered-By
is_from_cache: false
is_mutually_authenticated: true
last_modified: '2020-06-29T20:17:29.5951209+00:00'
method: POST
msg: OK
persistent_auth: 'true'
protocol_version:
Build: -1
Major: 1
MajorRevision: -1
Minor: 1
MinorRevision: -1
Revision: -1
response_uri: https://xxxxxxx:xxx/xxxxxxxx
server: xxxxxxx
status_code: 200
status_description: OK
supports_headers: true
url: https://xxxxxxx:xxx/xxxxxxxx
www_authenticate: Negotiate oRswGaADCgEAoxIEEAEAAAAyRzN6JblgagAAAAA=
x_asp_net_version: xxxxx
x_powered_by: xxxxx
解决方案
content_length: '0'
它完全按照服务器的指示进行,没有返回内容
Stack Overlow 上的任何人都无法告诉您为什么您的混淆服务器没有返回任何内容,但 ansible 正在按照指示进行操作
作为一种猜测,我猜你正在发送一个格式错误的有效负载,两者都body:
应该将引号颠倒(因为单引号版本是合法的 python,但不是合法的 JSON)并且你错过了content_type: application/json
为了告诉win_uri:
不要使用x-www-form-urlencoded
. 我们无法确定发生了什么,因为您删除了模块输出的其余部分
win_uri:
method: POST
url: "{{ configuraton_url }}"
body: '{"action": "listconfig"}'
content_type: application/json
推荐阅读
- testing - TestCafe——断言元素的正确方法是可见的
- javascript - 如何使用 Hammer.js 为识别器识别子节点上的事件
- javascript - 为什么为样式传递的动态道具未应用于我的子组件?
- r - Julia 创建了一个与 R 类 ngCMatrix 相当的“空”稀疏矩阵
- regex - SOLR 查询试图与正则表达式相关联
- windows - 发布管理客户端与 tfs 2018 的兼容性
- oop - 迭代具有不同属性的子类
- openstack - 同时写入和读取 Openstack Swift 对象会发生什么
- angular - 通过 angular 2+ 中的 component.ts 调整视频音量
- node.js - Web开发中的构建过程?