Ich beginne in Node und treffe eine API. Ich versuche, eine String-Variable zu verwenden, die anstelle eines JSON-Parameters verwendet wird.Wie string var in JSON einfügen?
Lassen Sie mich mit dem Code beginnen, da es mehr Sinn machen
var http = require('http');
var fs = require('fs');
// An object of options to indicate where to post to
var post_options = {
host: 'localhost',
port: '8080',
path: '/api/scan',
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
};
// Set up the request
var post_req = http.request(post_options, function(res) {
res.setEncoding('utf8');
var body = '';
res.on('data', function (chunk) {
body += chunk;
});
res.on('end', function() {
body = JSON.parse(body)
// Make sure it's working
console.log(body.response.subject);
});
});
// post the data
var url = 'ssl.com';
post_req.write('{"url": ' + url + ', "path":"/", "port":"443", "live_scan":"false", "advanced":"true"}');
post_req.end();
Wenn man sich die letzten drei Zeilen sehen, ich eine URL in einen String var url
zu setzen versuchen und es dann in den Einsatz JSON. Ich
Dies ist der Fehler:
$ node example.js
undefined:1
SyntaxError: Unexpected token s<br> at Object.parse (native)<br> at parse (C:\projects\ssl-scanner\node_modules\body-parser\lib\types\json.js:88:17)<br> at C:\projects\ssl-scanner\node_modules\body-parser\lib\read.js:116:18<br> at invokeCallback (C:\projects\ssl-scanner\node_modules\body-parser\node_modules\raw-body\index.js:262:16)<br> at done (C:\projects\ssl-scanner\node_modules\body-parser\node_modules\raw-body\index.js:251:7)<br> at IncomingMessage.onEnd (C:\projects\ssl-scanner\node_modules\body-parser\node_modules\raw-body\index.js:308:7)<br> at emitNone (events.js:80:13)<br> at IncomingMessage.emit (events.js:179:7)<br> at endReadableNT (_stream_readable.js:913:12)<br> at _combinedTickCallback (node.js:377:13)
^
SyntaxError: Unexpected token S
at Object.parse (native)
at IncomingMessage.<anonymous> (C:\projects\node\example.js:23:21)
at emitNone (events.js:85:20)
at IncomingMessage.emit (events.js:179:7)
at endReadableNT (_stream_readable.js:913:12)
at _combinedTickCallback (node.js:377:13)
at process._tickCallback (node.js:401:11)
Jetzt ist der Grund, warum ich das tue, weil ich schließlich Schleife durch eine Textdatei möchten, die eine Liste von URLs (eine auf jeder Zeile wie die enthält Trennzeichen wäre die neue Zeile) und setze url
gleich jeder URL in der Liste und sende dann die Anfrage.
Alle Ideen und Vorschläge sind willkommen
-Hamza
Sieht aus wie das Ergebnis Ihrer Anfrage in HTML anstelle von JSON ist. – nils
nicht json von hand erstellen .... es gibt eine integrierte Methode dafür. Ihre derzeitige Art würde ungültiges json verursachen. –