Как отправить токен на предъявителя и данные x-www-form-urlencoded с помощью Node Request - PullRequest
0 голосов
/ 12 января 2019

Я хочу повторить этот вызов Почтальона, используя модуль узла запрос . Смотрите скриншоты.

Скриншот

screenshot2

Как показано на скриншоте, в моем запросе мне нужно передать значения bearer token и x-www-form-urlencoded. Я попытался проследить за двумя ответами из этого ТАК сообщения, но безуспешно.

Я в основном пытался сделать

let form = {
    "field1": value1,
    "filed2": value2
};

let headers = {
    'Content-Type' : 'application/x-www-form-urlencoded',
    'Authorization': 'Bearer ' + token
}

request.post({ url: "https://myapp.net/myendpoint", form: form, headers: headers }, function(err, res, success){
    console.log(success);
});

а также

let form = {
    "field1": value1,
    "field2": value2
};

var formData = querystring.stringify(form);

let options = {
    uri: "https://myapp.net/myendpoint",
    method: 'POST',
    auth: {
        'bearer': token
    },
    headers: {
        'Content-Type' : 'application/x-www-form-urlencoded'
    },
    body: formData
};


request.post(options, function(err, res, success){
    console.log(success);
});

Может кто-нибудь показать правильный способ сделать это?

EDIT : Для уточнения: результат этих запросов составляет 400 статусов. Я бы также получил 400 на Почтальоне, если бы отправлял form-data, но если я отправлю x-www-form-urlencoded, то это получится в Почтальоне. Я не знаю, как это сделать в запросе.

1 Ответ

0 голосов
/ 12 января 2019

Попробуйте это

let options = {
    uri: "https://myapp.net/myendpoint",
    method: 'POST',
    headers: {
        'Authorization' : 'Bearer ' + token
    },
    form: {
        "field1": value1,
        "field2": value2
    };
};

request.post(options, function(err, res, success){
    console.log(success);
});

Тип контента должен быть установлен автоматически

...