gpt4 book ai didi

javascript - http.get() 方法和 var request = require ('request' 有什么区别)

转载 作者:可可西里 更新时间:2023-11-01 16:32:08 25 4
gpt4 key购买 nike

我是 node JS 的新手,在 learnyounode 的 nodeJS 练习 8 中,我的解决方案产生了相同的 require 结果。我很困惑何时使用 http.get 和 Request

目标:编写一个程序,对提供给您的 URL 执行 HTTP GET 请求
作为第一个命令行参数。从服务器收集所有数据(不是
只是第一个“数据”事件),然后向控制台写入两行
(标准输出)。

你写的第一行应该只是一个代表数字的整数
从服务器接收到的字符数。第二行应该包含
服务器发送的完整字符串。

官方解决方案

var http = require('http')
var bl = require('bl')

http.get(process.argv[2], function (response) {
response.pipe(bl(function (err, data) {
if (err)
return console.error(err)
data = data.toString()
console.log(data.length)
console.log(data)
}))
})

我的解决方案

var request=require('request')
request(process.argv[2],function(err,response,body){
console.log(body.length);
console.log(body);
})

最佳答案

来自 nodeJS documentation :

Since most requests are GET requests without bodies, Node.js provides this convenience method. The only difference between this method and http.request() is that it sets the method to GET and calls req.end() automatically. Note that response data must be consumed in the callback for reasons stated in http.ClientRequest section.

所以,这到底意味着什么,您可以毫无问题地按照自己的方式进行操作。但是 request 并不是 node 本身附带的模块,它是一个使开发人员更容易进行 http(s) 请求的模块。所以我在这里猜测,您正在学习 NodeJS 而不是使用第三方应该是正确的选择。

关于javascript - http.get() 方法和 var request = require ('request' 有什么区别),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45713442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com