2016-06-01 17 views
0

Ich versuche, eine Anfrage an eine API mit der get Methode im https-Modul.HTTPS-Anfrage mit Abfrage-Stings in NodeJS

bei HTTPS request in NodeJS Sehen, ich habe einen langen Weg, aber meine Anfrage nicht erscheint die Abfrageparameter schließen ...

das Beispiel unter Verwendung von oben, mit meiner Mods:

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) { 

Antwort

3

Laut https://nodejs.org/api/https.html#https_https_request_options_callback gibt es keine Option namens "query". Sie müssen die Abfrageparameter in den "Pfad" einschließen.

Anforderungsweg. Der Standardwert ist '/'. Sollte eine Abfrage enthalten, falls vorhanden. Z.B. '/index.html?page=12'.

+0

Das ist großartig! Ich weiß nicht, wo ich diese "Abfrage" -Option hatte ... Anscheinend kann ich deine Antwort noch nicht akzeptieren, aber ich werde! Danke – mediaashley

+0

Sie könnten auch https://github.com/ljharb/qs verwenden, um einfach ein Objekt in eine Abfragezeichenfolge zu serialisieren und dieses String-Hacken nicht manuell durchzuführen. – n1try

+1

Wir benutzen tatsächlich qs, also aus dem obigen Beispiel habe ich: '+ Pfad: '/ broker/rest/api' + Qs.stringify (params)'. – mediaashley