【nodejs】nodejs怎么请求一个链接
程序员文章站
2022-03-04 20:43:16
...
【nodejs】nodejs怎么请求一个链接
由于项目需求,我需要用nodejs请求某一链接去完成一些任何。本来是做PHP的,现在需要把nodejs学习一下。
今天说的就是怎么通过nodejs去请求一个链接。
请求一般分为get请求和post请求:
因为网站是http协议的,所以选择的是:
http.request(options[, callback])
先看get请求的例子:
var http = require('http'); //加载http,因为我们用的是http.request,这个理所当然要加载
(function(){ //创建匿名函数,直接运行
var options={
host:"www.aumalls.com", //host是要访问的域名,别加http或https
path:"/site/testget/name/intrwins", //请求的路径或参数,参数怎么写我不用说了吧?
method:'get' //请求类型,这里是get
}
var sendmsg=''; //创建空字符串,用来存放收到的数据
req=http.request(options, function(req) { //发出请求,加上参数,然后有回调函数
req.on("data", function(chunk) { //监听data,接受数据
sendmsg += chunk; //把接受的数据存入定放的sendmsg
});
req.on("end", function(d) { //监听end事件,请求结束后调用
var list=JSON.parse(sendmsg); //对接受到的数据流进行编码
console.log(list) //打印出结果
});
});
req.end(); //记住,用request一定要有始有终,如果不结束,程序会一直运行。
})()
被请求端代码:php
public function testget(){
echo json_encode($_GET); //返回$_GET参数
}
运行nodejs文件 #nodejs test.js
输出结果:{ controller: 'site', action: 'testget', name: 'intrwins' }
运行成功。。。
=======================================
再看post的请求的例子:
var url = require('url');
var http = require('http');
var querystring = require('querystring');
(function(){
var sendinfo={ //设置要请求的参数
'who':'intrwins',
'msg':'我在向你发出post请求',
}
var sendData = querystring.stringify(sendinfo); //对参数编号处理
var options={
host:"www.aumalls.com",
path:"/site/testpost",
method:'POST', //post请求设置
headers: { //post请求需要设置headers
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(sendData)
}
}
var sendmsg='';
req=http.request(options, function(req) {
req.on("data", function(chunk) {
sendmsg += chunk;
});
req.on("end", function(d) {
var list=JSON.parse(sendmsg);
console.log(list)
});
});
req.write(sendData); //这里一定要记录,把请求参数定入
req.end();
})()
被请求端php代码:
public function testpost(){
echo json_encode($_POST); //返回请求参数
}
运行nodejs:#node test.js
运行结果:{ who: 'intrwins', msg: '我在向你发出post请求' }
成功
推荐阅读
-
javascript - 新手想在短期内写一个个人博客,是用php还是用nodejs?
-
php怎么实现 点击一个网站里的链接 回跳到另一个网页 并输出特定数值
-
怎么计算从一个页面的某个链接跳出数呢
-
前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
-
node.js - windows的服务器,一个文件夹最多能放多少个文件而不会影响php/nodejs/java等读取文件的速度?
-
nodejs实现范围请求的实现代码
-
NodeJS使用Range请求实现下载功能的方法示例
-
nodejs使用express创建一个简单web应用
-
前端工程师通过nodejs链接linux,并上传代码进行半自动化更新,省去ssh+ftp的链接工具-前端黑科技-SegmentFault思否
-
NodeJS使用Range请求实现下载功能的方法示例