Postingan lainnya
cara dapetin nilai cost dari API rajaongkir
gimana caranya dapetin harga ongkir dari API raja ongkir : https://api.rajaongkir.com/starter/cost, saya bingung gan, soalnya itu methodnya post. dibawah ada kodingannya gan
router.post('/api', (req, re) => {
var qs = require("querystring");
var http = require("https");
var options = {
"method": "POST",
"hostname": "api.rajaongkir.com",
"port": null,
"path": "/starter/cost",
"headers": {
"key": "f1852be7bc2fca98644cbe68a5a561c2",
"content-type": "application/x-www-form-urlencoded"
}
};
var req = http.request(options, function(res) {
var chunks = [];
res.on("data", function(chunk) {
chunks.push(chunk);
var body = Buffer.concat(chunks);
re.send(body.toString())
});
res.on("end", function() {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(qs.stringify({
origin: '501',
destination: '114',
weight: 1700,
courier: 'jne'
}));
req.end();
})
kalo methodnya get saya ketik http://localhost:8000/api maka hasilnya keluar, untuk method post gimana ya gan buat dapetin hasilnya
Terimakasih
1 Jawaban:
sudah bisa gan, saya tambahin "Content-Length": 50 (untuk kurir jne & pos indonesia) dan "Content-Length": 51 untuk tiki pada var options, dibawah adalah kodingannya :
<pre> router.post('/api', (req, re) => { var qs = require("querystring"); var http = require("https"); var options = { "method": "POST", "hostname": "api.rajaongkir.com", "port": null, "path": "/starter/cost", "headers": { "key": "f1852be7bc2fca98644cbe68a5a561c2", "content-type": "application/x-www-form-urlencoded", "Content-Length": 50 // TAMBAHIN INI
}
};
var req = http.request(options, function(res) {
var chunks = [];
res.on("data", function(chunk) {
chunks.push(chunk);
var body = Buffer.concat(chunks);
});
res.on("end", function() {
var body = Buffer.concat(chunks);
console.log(body.toString());
// re.send(body.toString())
});
});
req.write(qs.stringify({
origin: '501',
destination: '115',
weight: 2000,
courier: 'jne'
}));
req.end();
}) </pre>
terimakasih