javascript - 邮递员:使用 application/x-www-form-urlencoded 作为内容类型发送 XML 作为正文
问题描述
好的,第一件事:我不对这段代码负责。我正在处理路由器。这个路由器有一个网页界面,我要展示的代码在路由器的网页界面中。我的工作是构建一个应用程序来配置这个路由器。我需要我的应用程序在路由器中执行登录操作。
问题是:为这个路由器创建 Web 界面的开发人员,让路由器接受一个 post 请求,其中请求的主体是 xml,内容类型是application/x-www-form-urlencoded
!!!! (哇哇哇???)
生成此请求的源代码在页面中:
function PostXML_log(pUrl, value) {
$.ajax({
type: "POST",
dataType: 'xml',
url: pUrl,
processData: false,
data: value,
async: true,
beforeSend: function () { show_message("wait"); },
success: function (data) {
var code = $(data).find('CODE').text();
if (code == "0" || code == "-1") {
$.cookie.json = false;
$.cookie("stork", $(data).find('MESSAGE').text(), { expires: 1 });
if (code == "-1")
window.location = "mac_err.html";
else
location.href = "../main_status.html";
}
else show_message("error", err_message)
},
error: function () { show_message("error", 'loading Error...'); },
timeout: 20000
});
}
function loginIn() {
var username = 'admin';//$('#username').val();
var password = ASCII2HEX($('#login_pwd').val());
var xml = '<?xml version="1.0" encoding="utf-8"?><LOGIN><USER_NAME>' + username + '</USER_NAME><PASSWD>' + password + '</PASSWD></LOGIN>';
PostXML_log("/cgi-bin/cgi.cgi?/app/route/login", xml);
};
问题是我找不到使用 Postman 复制这种行为的方法。我找不到同时发送正文和application/x-www-form-urlencoded
用作内容类型的方法。
我尝试了 4 种不同的策略,但均未成功:
1 - 作为正文发送,使用内容类型 application/xml,导致未收到响应(作为纯文本发送或 text/xml 结果相同):
2 - 发送 xml 作为表单键,导致错误
3 - 发送 xml 作为表单值,导致错误
4 - 发送 xml 作为键和值,错误:(我尝试将 xml 的<xml>
标签作为键和<login>
标签作为值,以及将整个 xml 作为键和值,没有运气)
解决方案
推荐阅读
- node.js - mongodb使用nodejs和express的一对多关系
- xaml - Xamarin.Forms。Collectionview 在其内容之后添加了很多额外的空白
- python - 时间戳:无法将 NumPy 数组转换为张量
- javascript - 浏览器扩展 - 使用内容脚本将所选文本替换为 ajax 响应
- javascript - 带有 Express 的 Node.JS:错误:监听 EADDRINUSE:地址已在使用中
- android - 自定义列表项中按钮的位置
- javascript - 鼠标滚轮滚动代码上的 Slick Slider 不起作用
- excel - 从以下公式中排除星期日
- node.js - 当我使用 brew info 节点时,为什么我会在节点的一些依赖项旁边看到一个“x”刻度线?
- nuxt.js - 错误 400:Nuxt.js 中的 redirect_uri_mismatch