2016-06-01 5 views
0

Я пытаюсь сделать запрос API, используя метод get в модуле https.HTTPS-запрос с запросом stings в NodeJS

Глядя на HTTPS request in NodeJS, у меня есть длинный путь, но мой запрос не появляется, чтобы включить параметры запроса ...

Используя приведенный выше пример с моих модов:

var $q = require('q'), 
    _ = require('lodash'), 
    path = require('path'), 
    Qs = require('qs'), 
    path = require('path'), 
    uuid = require('node-uuid'), 
    https = require('https'); 

var params = { 
    schema: '1.0', 
    form: 'json', 
    username: 'name' 
} 
var options = { 
    host: 'openshift.redhat.com', 
    port: 443, 
    path: '/broker/rest/api', 
    query: params 
}; 

var req = https.get(options, function(res) { 

ответ

3

Согласно https://nodejs.org/api/https.html#https_https_request_options_callback нет опции «запрос». Вам нужно включить параметры запроса в «путь».

Путь запроса. По умолчанию «/». Должна включать строку запроса, если таковая имеется. НАПРИМЕР. '/index.html?page=12.

+0

Это замечательно! Не знаю, где я получил эту опцию 'query' ... Видимо, я не могу принять ваш ответ, но я буду! Спасибо – mediaashley

+0

Вы также можете использовать https://github.com/ljharb/qs, чтобы легко сериализовать объект в строку запроса и не нужно вручную выполнять хакерство строк. – n1try

+1

Мы фактически используем qs, поэтому из приведенного выше примера у меня есть: '+ path: '/ broker/rest/api' + Qs.stringify (params)'. – mediaashley