У меня есть этот код:
var fs = require('fs');
var readline = require('readline');
var request = require("request");
var filename = process.argv[2];
readline.createInterface({
input: fs.createReadStream(filename),
terminal: false
}).on('line', function(line) {
sep = line.split("|");
id = sep[0];
name = sep[1];
var options = { method: 'POST',
url: 'https://api.com/mobile_authentications',
proxy: '...',
headers:
{ Host: 'api.com',
'Content-Type': 'application/json',
'Accept-Language': 'pt-BR',
'X-Client-Info': 'Timezone%3D-Infinity%26device_id%3D578e4ac016b69248%26utc_offset%3D-0300%26app_id%3D7092%26resolution%3D720x1280%26connectivity%3DWIFI%26site_id%3DMLB%26density%3D320%26user_id%3Dguest' },
body: '{"authentication_request":{"client_id":"'+id+'|'+name+'"}}' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
if(body.includes('ATTEMPS'))
{
console.log("CAPTCHA");
}
//console.log(body);
});
});
Первый вопрос: Как я могу проверить, содержит ли ответ тела строку «ATTEMPS»?
Другая проблема: когда в файле ids.txt большечем 100 строк скрипт возвращает мне эту ошибку:
if (error) throw new Error(error);
^
Error: Error: tunneling socket could not be established, statusCode=502
at Request._callback (C:\Users\PC\Desktop\top\convert.js:65:20)
at self.callback (C:\Users\PC\Desktop\top\node_modules\request\request.js:185:22)
at Request.emit (events.js:182:13)
at Request.onRequestError (C:\Users\PC\Desktop\top\node_modules\request\request.js:881:8)
at ClientRequest.emit (events.js:182:13)
at ClientRequest.onConnect (C:\Users\PC\Desktop\top\node_modules\tunnel-agent\index.js:168:23)
at Object.onceWrapper (events.js:273:13)
at ClientRequest.emit (events.js:182:13)
at Socket.socketOnData (_http_client.js:475:11)
at Socket.emit (events.js:182:13)
То есть скрипт не умеет работать с большими файлами?Спасибо.