文档章节

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

兔之
 兔之
发布于 2017/04/24 16:33
字数 188
阅读 44
收藏 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();
});

© 著作权归作者所有

共有 人打赏支持
兔之
粉丝 68
博文 247
码字总数 95896
作品 7
深圳
程序员
私信 提问
微信小程序推广二维码海报Node.js实现版

引言 最近公司的微信小程序项目由于业务需求需要实现二维码推广海报,而小程序的服务端代码是用node.js实现的,由于是第一次使用node.js作为服务端来实现图片的相关处理,不免走了一些坑。所...

黄晋
2018/12/04
0
0
使用 HTTP 上传 G 级的文件之 Node.js 版本

不管喜欢与否,javascript无处不在。 我们可以在客户端的前台应用中找到它,也可以在大量的框架、类库中找到它,而且可以在服务器端的后台应用中找到它。 近年来, Javascript越来越流行,这...

oschina
2014/11/02
7.9K
16
Node JS Buffer使用理解

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

SlaneYang
2018/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
5个提高Node.js应用性能的技巧

“如果你的 node 服务器前面没有 nginx, 那么你可能做错了。”— Bryan Hughes Node.js 是使用 最流行的语言— JavaScript 构建服务器端应用的领先工具 。由于可以同时提供 web 服务器和应用...

力谱宿云
2016/04/14
350
0

没有更多内容

加载失败,请刷新页面

加载更多

关于php的xdebug配置(编辑器vscode)

虽然说echo和print_r是公认的最实用的调试工具,但是效率真的没有可视化的直接断点那么高。这里简单介绍如果安装及配置xdebug for vscode 一、PHP环境处的配置 1、编译安装 下载及编译php,因...

元谷
35分钟前
7
0
heartbeat

http://www.linux-ha.org/doc/users-guide/_building_and_installing_heartbeat_from_source.html kaer@linux-sqlf:~/Reusable-Cluster-Components-glue--0a7add1d9996> ./configure --enabl......

李有常
45分钟前
1
0
shell 脚本 title 免写入

1、有时候写脚本,需要写一些注释信息或者备注之类,当每次都手写比较麻烦,可以写一个脚本,每次运行则自动写入这些信息,不需要在手动输入; 通过 EOF 嵌入文档的方式; [root@localhost_002 sh...

芬野de博客
52分钟前
3
0
FragmentPagerAdapter+ViewPager 更新问题

场景 存在一种需求,当用户系统中,属于某一组织的用户登录之后(或者账户切换),要求主页面显示不同的ViewPager + Fragment组合,并且要求app无需退出就能刷新组合以及组合中的页面。 此外...

IamOkay
52分钟前
3
0
Python有哪些常用的标准库?Python基础教程,第十一讲,常用标准库(一)

上一节课我们学习了如何自定义模块,大家可以定义自己的模块,但是项目中通常不允许我们自己造轮子,所以本节课主要学习Python的标准库,学习使用别人的轮子,由于标准库内容较多,所以我们分...

程序员补给栈
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部