Задать вопрос
@dhdfshs

Где ошибка в CURL? Почему не загружает картинку?

Вот полный код
Я пытаюсь скачать с тостера картинку и сохранить ее в файл.
Не важно куда сохранять, даже если создать сервер и пробовать ее вывести на экран, ничего не выходит.

В чем ошибка?
Или это просто кривой curl?

9050 это порт тора

//https://github.com/JCMais/node-libcurl

	var Curl = require('node-libcurl').Curl,
	  path = require('path'),
	  fs = require('fs');

	//tor proxy
	var proxy_ip_port = '127.0.0.1:9050';

	//https://curl.haxx.se/libcurl/c/curl_easy_setopt.html

	var curl = new Curl(),
	  url = 'http://',
	  cookieJarFile = path.join(__dirname, 'cookiejar.txt');

	if (!fs.existsSync(cookieJarFile)) {
	  fs.writeFileSync(cookieJarFile);
	}

	curl.setOpt(Curl.option.URL, 'https://hsto.org/r/w120/webt/59/cc/76/59cc7600c78a2239379574.jpeg');

	curl.setOpt(Curl.option.VERBOSE, true);



	curl.setOpt(Curl.option.COOKIEFILE, cookieJarFile);
	curl.setOpt(Curl.option.COOKIEJAR, cookieJarFile);


		curl.setOpt(Curl.option.FOLLOWLOCATION, 1);
		

			curl.setOpt(Curl.option.HEADER, 0);
		

		  curl.setOpt(Curl.option.SSL_VERIFYPEER, 0);
		  curl.setOpt(Curl.option.SSL_VERIFYHOST, 0);




		
			curl.setOpt(Curl.option.PROXYTYPE, Curl.proxy.SOCKS5_HOSTNAME);

			curl.setOpt(Curl.option.PROXY, proxy_ip_port);
		



		curl.perform();
		



	curl.on('end', function(statusCode, body, headers) {
	  console.info('Status Code: ', statusCode);
	  console.info('Headers: ', headers);
		console.info('Headers length: ', headers.length);
	  console.info('Body length: ', body.length);
	  //console.info('Body: ', body);
	  //console.info('METHOD: ', req.method);
console.info('HEADER_SIZE: ', curl.getInfo('HEADER_SIZE'));

	for (var infoName in Curl.info) {
		if (Curl.info.hasOwnProperty(infoName) && infoName !== 'debug') {
		  console.info(infoName, ': ', this.getInfo(infoName));
		}
	}


var fs1 = require('fs');
fs1.writeFile(path.join(__dirname, 'llllllllll.jpg'), body, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 



	  this.close();

	  console.info('Cookie file contents:');
	  console.info(fs.readFileSync(cookieJarFile).toString('utf8'));
	});

	curl.on('error', curl.close.bind(curl));


Готов скинуть 3000 р на сбер тому кто первым решит задачу
Только вариант через curl и именно так как в коде
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Средний 8 комментариев
Решения вопроса 1
@dhdfshs Автор вопроса
Решается одной строкой

curl.enable(Curl.feature.NO_DATA_PARSING);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
https://freelansim.ru/ тут дешевле получится
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы