【nodejs】nodejs怎么请求一个链接

【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请求' }

成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值