文档章节

Node.js 读本地文件和发起 POST 网络请求

兔之
 兔之
发布于 2017/04/24 16:33
字数 188
阅读 35
收藏 0

最近需要使用 Nodejs 读取本地文件中的数据构造请求去批量请求 CGI 获取数据,这样就不用手工搬砖了。因为需要携带 Cookie,故使用 POST 方法。

代码

// 读取本地文件
var fs = require("fs");
var readline = require('readline');

var rd = readline.createInterface({
    input: fs.createReadStream('./test.md'),
    output: process.stdout,
    terminal: false
});

var http = require("http");
var url = require("url");
var cookie = "K1:v1"

rd.on('line', function(line) {
    var parts = line.split(',')
    keyword = parts[0]
    newIndex = parts[1]
    strUrl = "http://wwwtest.com" + keyword + "&start_time=1485241176.43&end_time=1492930776.43&version=0"

    var parse = url.parse(strUrl);
    // 待发送的数据
    var postStr = "test";
    var options = {
        "method": "POST",
        "host": parse.hostname,
        "path": parse.path,
        "port": parse.port,
        "headers": {
            "Content-Length": postStr.length,
            'Cookie': cookie
        }
    };

    var req = http.request(options, function(res) {
    	word = parts[0]
    	new_index = parts[1]
        res.setEncoding("utf-8");
        var resData = [];
        res.on("data", function(chunk) {
            resData.push(chunk);
        }).on("end", function() {
            console.log(resData.join(""));
        });
    });
    req.write(postStr);
    req.end();
});

© 著作权归作者所有

共有 人打赏支持
兔之
粉丝 66
博文 247
码字总数 95896
作品 7
深圳
程序员
Node JS Buffer使用理解

JavaScript 起初为浏览器而设计,没有读取或操作二进制数据流的机制。Buffer类的引入,则让NodeJS拥有操作文件流或网络二进制流的能力。 Buffer基本概念 Buffer 对象的内存分配不是在V8的堆内...

SlaneYang
08/17
0
0
Express框架之app.js配置文件说明

express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板。下面简单来说说express的app.js文件的配置内容 先看一下这个app.js文件 /** Module dependencies. */ var express = requir...

YouDoce
2012/07/24
0
0
通过编写一个路由中间件来学习 Koa

通过编写一个路由中间件来学习 Koa 6 人 混了四年的大学生活结束了,校招没有找到工作的我还面临着失业。没办法,只有临时抱抱佛脚看看能不能找个工作了。据说最近前端圈里不会 NodeJs 是不可...

Hardo
07/05
0
0
深入浅出Node.js(一):什么是Node.js

专栏的第一篇文章《什么是Node.js》尝试从各个角度来阐述Node.js的基本概念、发展历史、优势等,对该领域不熟悉的开发人员可以通过本文了解Node.js的一些基础知识。 从名字说起 有关Node.js...

leeldy
2012/10/25
0
1
nodejs实践--模块Request学习

官方文档 npm官网--request 文章来自:Request —— 让 Node.js http请求变得超简单 先前一直比较关注前端的东西,对后端了解较少。不过一直对Node.js比较感兴趣,去年12月还去参加了阿里的C...

spinachgit
08/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之声明合并(二)

转发 TypeScript基础入门之声明合并(二) 声明合并 合并命名空间 与接口类似,同名的命名空间也将合并其成员。 由于名称空间同时创建了名称空间和值,因此我们需要了解它们是如何合并的。 要合...

durban
24分钟前
0
0
centos7系统安装sersync+rsync实现服务器同步功能

centos7系统安装sersync+rsync实现服务器同步功能 MQ_douer0人评论21708人阅读2017-04-08 15:49:03 一、为什么要用sersync+rsync架构? 1、sersync是基于inotify开发的,类似于inotify-tools...

linjin200
24分钟前
1
0
Windows下安装phpRedis扩展

Windows下安装phpRedis扩展 通常在做PHP程序测试时,会用到Redis。而一般测试都是在Windows下进行的,所以需要在Windows环境下安装phpRedis扩展,用以支持php对Redis的访问。 工具/原料 php调...

梦梦阁
29分钟前
1
0
HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法

HTTPConnectionPool(host:XX)Max retries exceeded with url 解决方法 在做双十一压测时,高并发调用requests时报错.问题解决方法 问题原因 是因为在每次数据传输前客户端要和服务器建立TCP...

_Change_
34分钟前
0
0
iosdfgh

复制 IO流 (***** 了解 *****) 1.1 概述 之前我们学习了 File 类,这个类中有很多操作文件本身的方法, File类它只能操作文件或文件夹,并不能去访问文件中的数据。真正保存数据的是文件,数据...

码农屌丝
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部