文档章节

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

兔之
 兔之
发布于 2017/04/24 16:33
字数 188
阅读 31
收藏 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
深圳
程序员
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的异步I/O实现

异步I/O 在操作系统中,程序运行的空间分为内核空间和用户空间。我们常常提起的异步I/O,其实质是用户空间中的程序不用依赖内核空间中的I/O操作实际完成,即可进行后续任务。以下伪代码模仿了...

leeldy
2012/10/25
0
0
深入浅出Node.js(一):什么是Node.js

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

leeldy
2012/10/25
0
1
node学习笔记01(nodejs特点介绍)

node的特点 事件驱动,非阻塞I/O 作为后台的javascript,node没有改写语言本身的任何特性,依旧基于作用域和原型链 1 异步I/O 提起异步,用ajax来形容就会比较容易理解 $.post('/url',{ key : 'v...

funkyLover
2014/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

iOS开发用到的图片尺寸汇总

启动图 型号 竖屏 横屏 iPhone SE 640px × 1136px 1136px × 640px iPhone 6s 750px × 1334px 1334px × 750px iPhone 6s Plus 1242px × 2208px 2208px × 1242px iPhone 7 750px × 1334......

业界小白
19分钟前
0
0
浅谈redis

redis是一个开源,内存式的健值存储数据库,也被称为健值存储的字典服务器。健值类型有字符串,hash(哈希类型),set(集合),list(列表) 和有序集合 特征细节: 内存式:redis将健值存储在主...

拐美人
26分钟前
0
0
无限扩容,按需使用!ZStack推出基于阿里云NAS的文件存储服务

日前,ZStack发布2.6.0版本,正式宣布推出基于阿里云NAS的文件存储服务。得益于业界领先的阿里云分布式存储架构,融合NAS后的ZStack 2.6.0拥有高性能、高可靠、容量无限扩展、一键操作、按需...

ZStack社区版
29分钟前
1
0
崛起于Springboot2.X之Mongodb多数据源处理(35)

多数据源:4个mongodb库! 目录结构图: 1、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId>......

木九天
34分钟前
0
0
如何获取显示器的EDID信息

Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID打交道。EDID这东西很简单,但是如果...

DB_Terrill
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部