Node.js如何通過(guò)http調(diào)用外部接口
node.js通過(guò)http調(diào)用外部接口
通過(guò)http.request發(fā)送帶參數(shù)的post請(qǐng)求
data:發(fā)送的內(nèi)容opt:描述將要發(fā)出的請(qǐng)求data:事件在數(shù)據(jù)到達(dá)時(shí)被觸發(fā)end:請(qǐng)求結(jié)束時(shí)觸發(fā)error:發(fā)生錯(cuò)誤時(shí)被觸發(fā)
var http = require("http");
var data = {username:"hello",password:"123456"};
data = JSON.stringify(data);
//data = require('querystring').stringify(data);
var opt = {
host:'localhost',
port:'8080',
method:'POST',
path:'/loginForeign.jspx',
headers:{
"Content-Type": 'application/json',
"Content-Length": data.length
}
}
var body = '';
var req = http.request(opt, function(res) {
console.log("response: " + res.statusCode);
res.on('data',function(data){
body += data;
}).on('end', function(){
console.log(body)
});
}).on('error', function(e) {
console.log("error: " + e.message);
})
req.write(data);
req.end();node.js調(diào)用外部接口 使用request模塊I(不推薦)
安裝
npm install request
使用
const request = require('request');
//get請(qǐng)求 第一種
request('https://**********/gais/**/g**/**?name=2', function (err, response, body) {
//err 當(dāng)前接口請(qǐng)求錯(cuò)誤信息
//response 一般使用statusCode來(lái)獲取接口的http的執(zhí)行狀態(tài)
//body 當(dāng)前接口response返回的具體數(shù)據(jù) 返回的是一個(gè)jsonString類(lèi)型的數(shù)據(jù)
//需要通過(guò)JSON.parse(body)來(lái)轉(zhuǎn)換
console.log(err, response, body);
if (!err && response.statusCode == 200) {
//todoJSON.parse(body)
var res = JSON.parse(body);
}
});
//get請(qǐng)求 第二種
request.get('https://**********/gais/**/g**/**?name=2',(err, response, body)=>{
console.log(err, response, body);
});
//get請(qǐng)求 第三種
request({
url: 'https://**********/gais/**/g**/**?name=2',
method: "GET",
json: true,
headers: {
"content-type": "application/json",
},
}, function(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // 請(qǐng)求成功的處理邏輯
}
});
//post請(qǐng)求
request({
url: 'https://**********/gais/**/g**/**',
method: "POST",
json: true,
headers: {
"content-type": "application/json",
},
body:{
"frontendUuid": "121212",
"available": 0
}
}, (err, response, body) => {
console.log(err, response, body);
});官方文檔請(qǐng)查看:https://github.com/request/request
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nodejs讀取文件時(shí)相對(duì)路徑的正確寫(xiě)法(使用fs模塊)
本篇文章主要介紹了linux 環(huán)境 mysql寫(xiě)入中文報(bào)錯(cuò)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
NodeJS感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài)
NodeJS可以感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài),也可以創(chuàng)建子進(jìn)程并與其協(xié)同工作,這使得NodeJS可以把多個(gè)程序組合在一起共同完成某項(xiàng)工作,并在其中充當(dāng)膠水和調(diào)度器的作用,和進(jìn)程管理相關(guān)的API單獨(dú)介紹起來(lái)比較枯燥,這里從一些典型的應(yīng)用場(chǎng)景出發(fā)2024-01-01
基于npm?install或run時(shí)一些報(bào)錯(cuò)的解決方案
這篇文章主要介紹了基于npm?install或run時(shí)一些報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
node.js中的fs.fchmod方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.fchmod方法使用說(shuō)明,本文介紹了fs.fchmod的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
Linux通過(guò)yum命令徹底刪除node.js并重新安裝
這篇文章主要介紹了Linux通過(guò)yum命令徹底刪除node.js并重新安裝,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-11-11
nodejs發(fā)布靜態(tài)https服務(wù)器的方法
這篇文章主要介紹了nodejs發(fā)布靜態(tài)https服務(wù)器的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09

