В документации запроса задокументирован параметр "useQuerystring" со следующим:
useQuerystring - if true, use querystring to stringify and parse querystrings, otherwise use qs (default: false). Set this option to true if you need arrays to be serialized as foo=bar&foo=baz instead of the default foo[0]=bar&foo[1]=baz.
API, с которым я работаю, должен отправить более одного значения одному и тому же имя параметра; который этот параметр, кажется, заявляет, может быть сделано при использовании useQueryString, но я не могу понять, где / как передать строку запроса, чтобы она правильно обрабатывалась и в каком формате это делать.
например, я Я пробовал несколько разных мест для строки запроса в следующем коде:
let options = {
uri: "https://api.mysite.com"[0],
headers: {
'Authorization': 'Bearer TOKEN_VALUE'
},
json: true,
useQuerystring: true,
querystring: "foo=bar&foo=baz",
qs: "foo=bar&foo=baz",
proxy: "http://localhost:8080",
strictSSL: false,
};
request.get(options);
Когда я передаю строку запроса в параметре «строка запроса», он игнорирует ее (Ака, кажется, это неправильно пятно, место). Когда я помещаю это в "нормальное" пятно "qs"; В итоге я получаю URL-адрес следующего, который отправляется на сервер:
"?0=f&1=o&2=o&3=%3D&4=b&5=a&6=r&7=%26&8=f&9=o&10=o&11=%3D&12=b&13=a&14=z"
Как правильно передать строку запроса, если для useQuerystring задано значение true?
На основе следующий файл выглядит так, как будто он не меняет место строки запроса, поэтому я думаю, что это qs; но, как отмечено выше, это не работает: https://github.com/request/request/blob/master/lib/querystring.js
Спасибо за вашу помощь!