>安装请求后,创建一个新的node.js文件,其中包含下面显示的代码。该示例的第一行用于将请求导入程序。制作HTTP请求与调用请求()函数一样简单。在此示例中,我们正在要求下载JSPRO主页。请求()的第二个参数当然是回调函数。
>npm install request
request()回调函数采用三个参数 - 错误,响应和身体。顾名思义,错误包含有关HTTP请求期间发生的任何问题的信息。响应参数是一个对象,其中包含从呼叫返回的各种数据,包括状态代码,标题等。第三个回调论点,正文是响应的主体。在上一个示例中,主体包含JSPRO主页的源代码。 >也可以将请求模块与文件系统模块结合使用,以将HTTP请求传输到文件和从文件中。下面的示例再次获取JSPRO。但是,它没有在控制台中显示源代码,而是写入名为“ jspro.htm”的文件。
http redirects。另外,请注意,请求()支持此处未显示的许多其他参数。>
>提交表单数据
结论 ,如果您喜欢阅读这篇文章,您会喜欢学习的;从大师那里学习新鲜技能和技术的地方。成员可以立即访问SitePoint的所有电子书和交互式在线课程,例如Jump Start start JavaScript。
>对本文的评论已关闭。有关于JavaScript的疑问吗?为什么不在我们的论坛上询问 node.js中的get和post请求有什么区别? >您可以使用http.get()方法制作获取请求,传递URL和回调函数来处理响应数据。 >同步请求阻止事件循环直到请求完成,而异步请求允许您的应用程序在等待响应时继续处理其他任务。 >我在制作http请求时如何处理错误在node.js中? 为了同时提出多个HTTP请求,您可以使用Promisises或Async/等待等异步功能,也可以使用支持并行请求处理的库。npm install request
参数化请求
以前的示例创建了对URL的简单获取请求。但是,我们可以通过将配置对象作为第一个参数传递到请求()来修改HTTP请求。以下示例使用更强大的语法再次下载JSPRO。注意众多配置参数。 URI和方法参数告诉请求将Get请求发送到JSPRO。
<span>var request = require("request");
</span><span>request("http://www.sitepoint.com", function(error<span>, response, body</span>) {
</span> <span>console.log(body);
</span><span>});</span>
xx >如前所述,请求不仅支持请求。一个非常普遍的操作是使用POST请求提交表单数据。以下示例使用请求()的表单参数作为帖子的一部分发送用户名。然后,PHP页面通过用名称向用户打招呼。
<span>var request = require("request");
</span><span>var fs = require("fs");
</span><span>request("http://www.sitepoint.com").pipe(fs.createWriteStream("jspro.htm"));</span>
打交道
许多站点使用cookie跟踪各种用户交互。 cookie是每次HTTP事务的客户端和服务器之间来回传递的小数据。为了促进cookie的使用,请求提供jar()和cookie()方法。使用cookie()方法创建单个cookie。在以下示例的第3行中,创建了一个指定用户名称的cookie。然后将cookie添加到第2行中创建的cookie jar。发出HTTP请求后,使用JAR参数将cookie Jar发送到服务器。
<span>var request = require("request");
</span><span>request({
</span> <span>uri: "http://www.sitepoint.com",
</span> <span>method: "GET",
</span> <span>timeout: 10000,
</span> <span>followRedirect: true,
</span> <span>maxRedirects: 10
</span><span>}, function(error<span>, response, body</span>) {
</span> <span>console.log(body);
</span><span>});</span>
>本文介绍了简单但功能强大的请求模块。由于本文并不全面,我建议至少浏览文档,以查看其他请求可以做什么。请继续关注即将发表的文章,该文章将使用请求更深入地涵盖网络刮擦。
>
>
在Node.js >如何在node.js中提出http请求?
>您可以使用内置的HTTP或HTTPS模块在Node.js中提出HTTP请求,以用于低级控件,也可以使用Axios,Node-fetch或请求模块,用于简化且更高的第三方库-Level HTTP请求。
>使用第三方库(如Axios或Node-fetch)的优点是什么node.js中的http请求? >第三方库提供更多用户友好的API,基于承诺或异步/等待支持的支持,并提供了诸如请求/响应处理和自动json解析之类的功能,使它们成为开发人员的流行选择。
>
>我可以做在node.js中使用内置的HTTP模块获取和发布请求? 是的,您可以使用http或https模块进行获取和发布请求,但是它需要更多的低级代码来进行请求配置和响应处理。
>
>
请求使用Node.js中的HTTP模块? >
>我可以在使用HTTP库中进行认证的请求node.js? 是的,您可以在使用第三方库(例如Axios或node-fetch)时在请求标题中包含身份验证令牌或凭据。许多API都需要身份验证以访问。>是否可以使用node.js将文件上传到http请求中? 是的,您可以通过将post请求与Multipart/form-data内容类型发送。诸如AXIOS和请求模块之类的库提供了处理文件上传的选项。>如何在node.js中进行并发或并行HTTP请求?
以上是在node.js中提出http请求的详细内容。更多信息请关注PHP中文网其他相关文章!