Javascript 如何发送重复的POST参数

Javascript 如何发送重复的POST参数,javascript,node.js,post,request,Javascript,Node.js,Post,Request,我正在尝试为我常用的网站编写一个替代UI。我正在使用Node.js编写它,使用request和cheerio刮取网页上的数据 但是,当我尝试发送此站点的POST请求时,就会出现问题。我想在这里检索类列表,而不必首先浏览此页面,但是devtools中显示的正常post参数的结构如下: sel_subj:dummy bl_online:FALSE sel_day:dummy term:201630 sel_subj:ACTG sel_inst:ANY sel_online: sel_crse: be

我正在尝试为我常用的网站编写一个替代UI。我正在使用Node.js编写它,使用
request
cheerio
刮取网页上的数据

但是,当我尝试发送此站点的POST请求时,就会出现问题。我想在这里检索类列表,而不必首先浏览此页面,但是devtools中显示的正常post参数的结构如下:

sel_subj:dummy
bl_online:FALSE
sel_day:dummy
term:201630
sel_subj:ACTG
sel_inst:ANY
sel_online:
sel_crse:
begin_hh:0
begin_mi:0
end_hh:0
end_mi:0
我可以修改任何其他值(
term
sel\u crse
等),但是
sel\u sub
没有兼容的值,因此服务器只使用默认值

我一直在为
请求
中的
表单
对象参数尝试不同的值,但这些值都不起作用:

sel_subj: ["M", "dummy"]
sel_subj: ["dummy", "M"]
sel_subj: "M"
sel_subj: "dummy,M"
sel_subj: "M,dummy"
sel_subj: "dummy M"
sel_subj: "M dummy"
sel_subj: "dummy, M"
sel_subj: "M, dummy"

我试图弄清楚POST请求中的重复字段意味着什么,服务器期望得到什么,以及如何使用
请求重现该字段。如果参数名称可以重复,请求主体可以由您自己设计:

var headers = {'content-type' : 'application/x-www-form-urlencoded'};
var body = [];

var params = [
    { sel_subj:'dummy' }, // duplicates 
    { bl_online:false },
    { sel_day:'dummy' },
    { term:'201630'},
    { sel_subj:'ACTG'}, // duplicates 
    { sel_inst:'ANY'},
    { sel_online: null},
    { sel_crse: null},
    { begin_hh:0},
    { begin_mi:0},
    { end_hh:0},
    { end_mi:0}
];

params.forEach( function(p) {
    body.push( require('querystring').stringify(p) );
});

var r = request.post({  url:'http://localhost/api/', 
                        headers: headers, 
                        body:body.join('&')
                     });

我的天哪,真是见效了!我考虑过手动生成请求主体,但不确定它应该采用何种格式。谢谢