因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的接口,H5可能只用到6.0)经常变动啥啥啥啥,所以我们前端常常还要经过1层dataformat(旧的业务代码改动代价太大),反正如果能实行,可行的话  将让前端带来更薄、更舒适的体验(就差夜用更长了  哈哈)。

今天别人说想用C#封装api,再调用V8解析我们写的js代码  而达到我们一般前端人员也能写处理接口的代码;我一听就建议他能用node最好用node ,没必要用C#封一层,性能谁好谁坏没有测过先不说,但是有一点很致命的是,我们组的前端就他一个比较精通C#的代码,如果他走了,接下来的摊子谁维护?  我表达了我的观点,但他一面不采纳,抛下一句:你用node能搭建出和我C#一样的稳定代码,你可以用node。    我听后不爽,我决定接下来的时间,我要研究node。今天第一步,写个笔记。

好不扯淡
说到要请求post,get,那是不是应该要有一个服务接口,那我就先搭建一个php服务,获取get和post数据,为了简单展示,直接输出获取到的数据。

<?php

    $name = $_GET['name'];
$age = $_POST['age'];
$db = $_POST['db']; $response_obj->name = $name;
$response_obj->age = $age;
$response_obj->sb = $db; echo json_encode($response_obj);
?>

好咱们php服务写好了,第二步就是用node去调用我们写好的php接口了

var http = require('http');

//创建一个http服务
http.createServer( function(request, //客户端发来的请求,node.js 帮我们封装成 request 对象
response //我们利用response,向客户端发送回答
){
//在控制台显示request对象 var querystring = require('querystring');
var data=querystring.stringify({age:22, db: 'bbbbb'}); var http = require('http');
var opt = {
method: "POST",
host: "127.0.0.1",
port: 80,
path: "/demo/test.php?name=xmzzaaaa",
headers: {
"Content-Type":"application/x-www-form-urlencoded",
"Content-Length": data.length
}
};
//发送一个请求
var req = http.request(opt, function (serverFeedback) {
//console.log(serverFeedback.statusCode);
serverFeedback.on('data', function (chunk) {
//response.end('BODY: ' + chunk);
response.end('response ' + chunk);
//console.log('response ', chunk);
}).on('end', function (chunk) { console.log('end');
});
return;
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
console.log('ccc'+data);
req.end(); }).listen(888); console.log('Server start at 888');

然后再运行我们的node脚本  : node request2.js

最后访问我们的node服务地址: http://localhost:888
输出正常 ,ko,第一步踏出了,其他还有神马可怕的  哈哈哈哈

node 发送 post 请求 get请求。的更多相关文章

  1. 【node.js】GET/POST请求、Web 模块

    获取GET请求内容 node.js 中 url 模块中的 parse 函数提供了这个功能. var http = require('http'); var url = require('url'); ...

  2. 使用java程序模拟页面发送http的post请求

    在web应用程序中,一般都是通过页面发送http的post请求,但也可以使用java程序来模拟页面发送请求,代码如下: import java.io.BufferedReader; import ja ...

  3. [转]利用URLConnection来发送POST和GET请求

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...

  4. Jsoup系列学习(1)-发送get或post请求

    简介 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. 官 ...

  5. 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    通用辅助类  下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需 要获取认证信息(如Cookie),所以返回的是HttpWeb ...

  6. (转) 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    转自:http://blog.csdn.net/zhoufoxcn/article/details/6404236 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中 ...

  7. iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

    iOS开发网络篇—发送GET和POST请求(使用NSURLSession) 说明: 1)该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2)本文将不再讲解NSURLConn ...

  8. Ajax详解及其案例分析------如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表

    本节主要内容预览: 1 获得Ajax对象 2 使用Ajax对象发送GET请求 3 使用Ajax对象发送POST请求 4 使用Ajax校验用户名 5 POST请求时的乱码处理 6 GET请求时的乱码处理 ...

  9. php 利用socket发送GET,POST请求

    作为php程序员一定会接触http协议,也只有深入了解http协议,编程水平才会更进一步.最近我一直在学习php的关于http的编程,许多东西恍然大悟,受益匪浅.希望分享给大家.本文需要有一定http ...

  10. 【转】在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    http://zhoufoxcn.blog.51cto.com/792419/561934 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全 ...

随机推荐

  1. 【洛谷5283】[十二省联考2019] 异或粽子(可持久化Trie树+堆)

    点此看题面 大致题意: 求前\(k\)大的区间异或和之和. 可持久化\(Trie\)树 之前做过一些可持久化\(Trie\)树题,结果说到底还是主席树. 终于,碰到一道真·可持久化\(Trie\)树的 ...

  2. 获取input的值

    一.jQuery获取单选框的值1.$('input:radio:checked').val():2.$("input[type='radio']:checked").val();3 ...

  3. 远程桌面连接(连接服务器)报错Oracle修正

    解决方案: 开始——运行——gpedit.msc——计算机配置——管理模版——系统——凭据分配——加密oracle修正——易受攻击 ok

  4. 百练oj 2815:城堡问题(dfs)

    传送门: http://bailian.openjudge.cn/practice/2815 2815:城堡问题 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB ...

  5. Linux查看日志命令- more、less、tail、head命令的区别

    参考:https://blog.csdn.net/caib1109/article/details/52195942 1.more 2.tail 3.less 4.cat 5.head

  6. C#中Math.Round()的中国式用法

    C#中的Math.Round()并不是使用的"四舍五入"法.而是(银行家算法),即:四舍六入五取偶.事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法. ...

  7. Struts2前期(这框架目前正处于淘汰状态)

    Struts2第一天 Struts2的学习路线 1. Struts2的入门:主要是学习Struts2的开发流程(Struts2的开发流程.常见的配置.Action类的编写) 2. Struts2的Se ...

  8. 细说多线程之Thread与Runnable

    1:创建线程的两种方式: 继承Thread类 public class MyThread extends Thread { @Override public void run() { } } MyTh ...

  9. 基于layer封装的异步加载分部视图弹出层

    背景:之前一直用的artdialog,但是样式不是很好看,后来偶然看到layer,觉得不错,但是对于.net mvc来说,不能像artdialog一样弹出分部视图是很难受的.所以下面的方法就解决了. ...

  10. SAP存储税率税码的相关表

    T007A 稅關鍵字 T007B 會計中的稅務處理 T007C Groupings for tax codes T007D 賦稅群組的內文 T007F 銷項 / 進項群組的稅 T007G 不再使用該表 ...