一、http模块

  1. http.createSverver()
  • http是node自带的模块,通过require("http")的方法载入;

  • 使用http创建服务器:

 http.createServer(function(request,response){
response.writeHead(200,{"Content-Type":"text/plan"}); //设置返回头
response.write("this is test"); //返回的内容
response.end("end"); //响应结束
}).listen(2017); //设置端口

  2.http.get(options[,callback]):发送请求,获取收据,通常不发送请求数据,可用于写爬虫.

  • options通常是个url;callback是回掉函数。

http.get("http://www.baidu.com/",function(response){
response.on("data",function(data){
// do somethiing
});
response.on("end",function(){
//do something
});
}).on("error",function(error){
console.log(error.message);
})

  3.http.request(options[,callback]):发送请求,带请求数据,可用于灌水评论,伪装请求等操作

  • options:共11个参数,常用的有5个

hostname:请求的地址,可用于url.parse()方法得到,类似于 www.imooc.com这种写法,不带之后的路径;

port:端口;

path:以/开头,通常是hostname 后面跟的路径,例如 /course/docomment;

method:通常是POST;

headers:是一个object,可以使用事先正常请求途径获得的response header;

  • callback:回掉函数,可以打印出请求的结构代码res.statusCodeJSON.stringify(res.headers)请求头;

  • 最后需要将请求数据写道请求体里;最后收到结束请求;  

    var http = require("http");
    var querystring = require("querystring");
    var postData = querystring.stringify({
    //key:value
    });
    var options = {
    "hostname":"",
    "port":"",
    "path":"",
    "method":"",
    "headers":{}
    };
    var req = http.request(options,function(res){
    console.log("status:" +res.statusCode);
    console.log("headers:" +JSON.stringify(res.headers));
    res.on("data",function(chunk){
    //do something
    });
    res.on("end",function(){
    console.log("完成");
    })
    });
    req.on("error",function(e){
    console.log(e.message);
    })
    req.write(postData);
    req.end();

      

node基础(一)——http模块的更多相关文章

  1. node(基础三)_模块系统基础

      一.前言                                                                                         这篇文章主 ...

  2. Node基础篇(模块和NPM)

    核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. ...

  3. node基础04:模块调用

    1.模块调用 node遵循AMD规范 //server.js var http = require("http"); var Teacher = require("./t ...

  4. node基础篇二:模块、路由、全局变量课堂(持续)

    今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...

  5. node.js的http模块的基础 学到的东西

    node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientReque ...

  6. Node.js(window)基础(2)——node环境下的模块,模块间调用

    参考:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450241959 ...

  7. node基础—模块系统

    模块的概念 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块加载系统. 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),换言之,一个 Node ...

  8. node基础(二)_模块以及处理乱码问题

    一.前言 本次内容主要包括: 1.node.js中的模块系统 2.解决上篇中服务器响应的汉字乱码问题 二.知识 1.node中的模块   分为三种: 核心模块(node定义的如前面用到的fs,http ...

  9. Node.js入门:模块机制

    CommonJS规范      早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...

随机推荐

  1. delphi -----获取计算IP

    function GetHostName:String; var ComputerName: ..MAX_COMPUTERNAME_LENGTH+] of char; Size: Cardinal; ...

  2. CoffeeScript编译手记

    最近折腾bootstrap,看到一个Messager插件挺好的,可这丫的发出来的都是CoffeeScript的DEMO,顿时让我感觉自己已经落后了一百年. 于是各种搜索,各种脑补,原来Coffee最后 ...

  3. 编译型 解释型 C++工作原理

    C++教程_w3cschool https://www.w3cschool.cn/cpp/ C++工作原理: C++语言的程序因为要体现高性能,所以都是编译型的.但其开发环境,为了方便测试,将调试环境 ...

  4. Redis核心解读(转)

    原文:Redis核心解读 Redis是知名的键值数据库,它广泛用于缓存系统.关于Redis的信息已经不用我多介绍了.这个系统的Redis文章主要从另外一个角度关注,Redis作为一个开源项目,短短2W ...

  5. 简述 Python3 文件处理

    1.文件处理 找到文件 --> 打开文件 --> 操作:读.写 --> 保存 --> 关闭 1.1.1 写文件 (只要牵扯到文件操作,都是字符串:写文件的时候需要把写的数字转换 ...

  6. 分别用request和socket给百多发送请求

    1.方式1 import socket client = socket.socket() # 百度创建连接: 阻塞 client.connect(('www.baidu.com',80)) # 问百度 ...

  7. redis的安装与配置(一)

    1. 介绍 Redis is an open source (BSD licensed), in-memory data structure store, used as database, cach ...

  8. java 多线程 day02 定时器

    package com.czbk.thread; import java.util.Date;import java.util.Timer;import java.util.TimerTask; /* ...

  9. HTTP协议简要介绍

    1. 网络基础 TCP/IP 通常使用的网络是在TCP/IP协议簇基础上运作的. HTTP属于它内部的一个子集. TCP/IP分为4个层次, 应用层, 传输层, 网络层, 链路层. (Applicat ...

  10. (转) latch 入门

    原链接:http://www.itpub.net/thread-1424719-1-1.html (入门1)一直想点文章关于Latch的,又一直没写,一是因为懒,二是一直觉得现在关于Latch的书那么 ...