小编Pau*_*lva的帖子

node.js从原始http请求字符串创建对象

我有一个原始的HTTP请求字符串,我需要从中创建一个对象表示.

我正在考虑使用内部的http解析器来获取http.IncomingMessage的实例,而不是重新发明轮子

可能吗?

我是这么认为的,因为字符串与完整的流没有那么不同.

怎么做?

我查看了源代码,他们得到了一个请求解析器,如下所示

var HTTPParser = process.binding('http_parser').HTTPParser;
var parser = new HTTPParser(HTTPParser.REQUEST)
Run Code Online (Sandbox Code Playgroud)

编辑

node.js测试的一些进展

var request = Buffer(raw);
var parser = new HTTPParser(HTTPParser.REQUEST);

parser.execute(request, 0, request.length);
Run Code Online (Sandbox Code Playgroud)

编辑2

一些eventHandler丢失了(所有这些)

parser.onHeadersComplete = function(res) {
    console.log('onHeadersComplete');
    console.log(res);
};

parser.onBody = function(body) {
    console.log('body done');
    console.log(body.toString());
}

parser.onMessageComplete = function(res) {
    console.log('done');
};
Run Code Online (Sandbox Code Playgroud)

谢谢

parsing http node.js

19
推荐指数
1
解决办法
2144
查看次数

硒使用铬而不是谷歌铬

我首先安装了Chromium并准备了我的Selenium测试以运行它(我有chromeDriver,我确实创建了指向chrome-browser的符号链接google-chrome).一切都很顺利.

后来我确实安装了google-chrome浏览器来调试一些node.js应用程序,然后Selenium打开谷歌Chrome而不是Chromium.

我无法弄清楚如何找回Chromium开硒.synmbolic链接确实存在并指向chrome-browser.

如果系统上还提供google-chrome,如何使用Chromium运行Selenium?

更新1:更新备选方案怎么样?

$ ls -lah /usr/bin/google-chrome
/usr/bin/google-chrome -> /etc/alternatives/google-chrome

$ ls -lah /etc/alternatives/google-chrome
/etc/alternatives/google-chrome -> /usr/lib/chromium-browser/chromium-browser
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome chromium node.js

14
推荐指数
1
解决办法
2万
查看次数

node.js selenium-webdriver 设置连接超时

我正在使用selenium-webdriver与 Selenium 网格交互。

当与 Selenium Grid 的连接超时时,会抛出异常(ETIMEDOUT)。

我需要的是将连接超时值调整为较低的值(我不是在谈论页面加载和其他超时),但我找不到如何调整。

selenium webdriver node.js

5
推荐指数
0
解决办法
864
查看次数

标签 统计

node.js ×3

selenium ×2

chromium ×1

google-chrome ×1

http ×1

parsing ×1

webdriver ×1