我有一个原始的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)
谢谢
我首先安装了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-webdriver与 Selenium 网格交互。
当与 Selenium Grid 的连接超时时,会抛出异常(ETIMEDOUT)。
我需要的是将连接超时值调整为较低的值(我不是在谈论页面加载和其他超时),但我找不到如何调整。