本教程操作環境:Windows10系統、node v10.16.0版、Dell G3電腦。
node http get 亂碼怎么辦?
nodejs http.get亂碼問題處理方法
(相關資料圖)
代碼如下:
var req = http.get(url,function(res){ res.setEncoding("utf-8"); var html = "" res.on("data",function(data){ html+=data.toString(); }).on("end",function(){ console.log(html); })});
相關介紹:
http.get :
由于大多數請求都是沒有主體的 GET 請求,因此 Node.js 提供了這個便捷的方法。 這個方法與 http.request() 的唯一區別是它將方法設置為 GET 并自動調用 req.end()。 注意,由于 http.ClientRequest 章節中所述的原因,回調必須注意消費響應數據。
主要用于做數據請求。
有關于http.get 代碼的解讀:
const http =require("http");//由于http.get是Node的http模塊 所以第一件事情當然是引入http模塊啦~ http.get("這里是你想要請求的接口地址", (res) => {//res是請求后端給你的數據 const { statusCode } = res;//獲取請求的狀態碼 const contentType = res.headers["content-type"];//獲取請求類型 let error; if (statusCode !== 200) {//如果請求不成功 (狀態碼200代表請求成功哦那個) error = new Error("請求失敗\n" + `狀態碼: ${statusCode}`); //報錯拋出狀態碼 } else if (!/^application\/json/.test(contentType)) {//驗證請求數據類型是否為json數據類型 json的content-type :"content-type":"application/json" error = new Error("無效的 content-type.\n" +//再次報錯 `期望的是 application/json 但接收到的是 ${contentType}`); } if (error) {//如果報錯了 console.error(error.message); res.resume();//將請求的錯誤存入日志文件 return; } //請求成功 res.setEncoding("utf8");//字符編碼設為萬國碼 let rawData = "";//定義一個字符變量 res.on("data", (chunk) => { rawData += chunk; });//通過data事件拼接數據流得到數據 res.on("end", () => {//end表示獲取數據結束了 try { //捕獲錯誤信息 console.log(rawData);//輸出數據 } catch (e) { console.error(e.message); } }); }).on("error", (e) => { console.error(`出現錯誤: ${e.message}`); });
推薦學習:《node.js視頻教程》
以上就是node http get 亂碼怎么辦的詳細內容,更多請關注php中文網其它相關文章!
關鍵詞: node