通过Node.js编写js脚本,如何使得该js脚本通过用户名和密码,访问并读出Jenkins的log.html
时间: 2024-02-22 19:56:53 浏览: 50
要通过Node.js编写的js脚本使用用户名和密码访问Jenkins的log.html页面,您可以使用Node.js内置的HTTP或HTTPS模块发送HTTP请求,并在请求头中添加基本身份验证信息。以下是一个示例代码:
```javascript
const http = require('http');
const fs = require('fs');
const options = {
hostname: 'jenkins.example.com',
path: '/job/your-job-name/lastBuild/logText/progressiveHtml',
port: 8080,
method: 'GET',
headers: {
'Authorization': 'Basic ' + Buffer.from('username:password').toString('base64')
}
};
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
// 将响应内容写入文件
const fileStream = fs.createWriteStream('log.html');
res.pipe(fileStream);
// 将响应内容输出到控制台
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
```
以上代码中,我们在options对象中指定了Jenkins的地址、路径、端口号、HTTP方法,并在请求头中添加了基本身份验证信息。在headers对象中,我们使用Buffer.from('username:password').toString('base64')将用户名和密码进行编码,生成base64编码的字符串,并将其添加到Authorization头中。
请注意,您需要将上述代码中的jenkins.example.com、your-job-name、8080、username和password替换为您实际的Jenkins实例地址、job名称、端口号、用户名和密码。
另外,如果您需要对页面内容进行解析和处理,您可以使用第三方HTML解析库(如cheerio、jsdom等)来处理HTML文档。
阅读全文