zoukankan      html  css  js  c++  java
  • node-http客户端

    http 模块提供了两个函数 http.request 和 http.get ,功能是作为客户端向 HTTP
    服务器发起请求。

    http.request(options, callback) 发起 HTTP 请求。接受两个参数, option 是
    一个类似关联数组的对象,表示请求的参数, callback 是请求的回调函数。 option
    常用的参数如下所示。
     host :请求网站的域名或 IP 地址。
     port :请求网站的端口,默认 80。
     method :请求方法,默认是 GET。
     path :请求的相对于根的路径,默认是“ / ”

    var http = require('http');
    var querystring = require('querystring');
    var contents = querystring.stringify({
    name: 'byvoid',
    email: 'byvoid@byvoid.com',
    address: 'Zijing 2#, Tsinghua University',
    });
    var options = {
    host: 'www.byvoid.com',
    path: '/application/node/post.php',
    method: 'POST',
    headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length' : contents.length
    }
    };
    var req = http.request(options, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (data) {
    console.log(data);
    });
    });
    req.write(contents);
    req.end();

     http.get(options, callback) http 模块还提供了一个更加简便的方法用于处
    理GET请求: http.get 。它是 http.request 的简化版,唯一的区别在于 http.get
    自动将请求方法设为了 GET 请求,同时不需要手动调用 req.end() 。
    //httpget.js
    var http = require('http');
    http.get({host: 'www.byvoid.com'}, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (data) {
    console.log(data);
    });
    });

    http.ClientRequest
    http.ClientRequest 是由 http.request 或 http.get 返回产生的对象,表示一
    个已经产生而且正在进行中的 HTTP 请求。它提供一个 response 事件,即 http.request
    或 http.get 第二个参数指定的回调函数的绑定对象。我们也可以显式地绑定这个事件的
    监听函数:
    //httpresponse.js
    var http = require('http');
    var req = http.get({host: 'www.byvoid.com'});
    req.on('response', function(res) {
    res.setEncoding('utf8');
    res.on('data', function (data) {
    console.log(data);
    });
    });
    http.ClientRequest 像 http.ServerResponse 一样也提供了 write 和 end 函
    数,用于向服务器发送请求体,通常用于 POST、PUT 等操作。所有写结束以后必须调用 end
    函数以通知服务器,否则请求无效。 http.ClientRequest 还提供了以下函数。
     request.abort() :终止正在发送的请求。
     request.setTimeout(timeout, [callback]) :设置请求超时时间, timeout 为
    毫秒数。当请求超时以后, callback 将会被调用。
    此外还有 request.setNoDelay([noDelay]) 、 request.setSocketKeepAlive
    ([enable] , [initialDelay]) 等函数

  • 相关阅读:
    性能优化
    几种跨域处理
    重温前端基础之-数组去重
    移动端常遇到的问题
    WPF 应用
    WPF 应用
    WPF 应用
    C# 应用
    WPF 应用
    C# 应用
  • 原文地址:https://www.cnblogs.com/caoruichun/p/10575323.html
Copyright © 2011-2022 走看看