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

    成功

  • 相关阅读:
    状态机
    perl学习之五:列表和数组
    正则语言(转的 大额_skylar )
    算法分析-动态规划(最优二叉搜索树)
    算法分析-动态规划(矩阵链相乘,最长公共子序列,最长递增子序列)
    算法分析-动态规划(装配线调度)
    算法分析-leedcode正则题目
    算法分析-动态规划(cut_rod)
    算法分析-分治法的主方法【转的 凭海临风】
    正则表达式之match与exec【转的 楼兰之风】
  • 原文地址:https://www.cnblogs.com/bestcode/p/6519989.html
Copyright © 2020-2023  润新知