node.js request maxSockets limit not work
個program 係web scraping, 我想set個concurrent request limit, 但係跟住個document做都唔得
https://github.com/request/request- var pool = { maxSockets: 1 }
- function requestHtmlPage(url) {
- const requestOptions = {
- url: url,
- headers: {
- 'User-Agent': 'Mozilla/5.0'
- },
- agentOptions: {
- rejectUnauthorized: false
- },
- pool: pool
- }
- var contentLength = 0
- var currentRequest = request(requestOptions, (error, response, body) => {
- if (error) {
- //console.log(`request-error: ${error}`)
- } else if (response.statusCode == 200) {
- const foundUrls = parse.getLinks(body, url)
- for (const foundUrl of foundUrls) {
- if (!uniqueUrls.has(foundUrl)) {
- uniqueUrls.add(foundUrl)
- requestHtmlPage(foundUrl)
- }
- }
- } else {
- //console.log('broken: ' + url)
- }
- })
- .on('data', (data) => {
- contentLength += data.length
- if (contentLength > 262144) {
- //console.log('toobig: ' + url)
- currentRequest.abort()
- }
- })
- }
複製代碼 |
|
|