Postingan lainnya
Kelas Premium!
Belajar Membuat API dengan NodeJS
Gunakan kupon "skillbaru" untuk diskon 100 ribu!
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