2015-01-18 2 views
1

Мне нужно сделать сканер. Для http-запроса я использовал это.Как сделать запрос https в node.js

var http=require('http'); 
var options={ 
    host:'http://www.example.com', 
    path:'/foo/example' 
}; 

callback=function(response){ 
var str=''; 
response.on('data',function(chunk){ 
str+=chunk; 
}); 
response.on('end', function() { 
     console.log(str); 
}); 
} 
http.request(options, callback).end(); 

, но я должен сделать ползатель https://example.com/foo/example Если я использую то же самое для https://example.com/foo/example он дает эту ошибку

events.js:72 
    throw er; // Unhandled 'error' event 
     ^
Error: getaddrinfo ENOTFOUND 
at errnoException (dns.js:37:11) 
at Object.onanswer [as oncomplete] (dns.js:124:16) 
+0

Вы проверили метод '' '' '' '' '' '' 'https' модуля' 'https' (http://nodejs.org/api/https.html#https_https_request_options_callback)? – thefourtheye

ответ

3

Я рекомендую этот отличный модуль HTTP запроса: http://unirest.io/nodejs.html

Вы можете установить его с:

НПМ установки -g unirest

Вот пример кода узла с Unirest:

var url = 'https://somewhere.com/'; 
    unirest.get(url) 
    .end(function(response) { 
     var body = response.body; 
     // TODO: parse the body 
     done(); 
    }); 

... так, чтобы получить HTML в www.purple.com вы бы сделать это:

#!/usr/bin/env node 

function getHTML(url, next) { 
    var unirest = require('unirest'); 
    unirest.get(url) 
    .end(function(response) { 
     var body = response.body; 
     if (next) next(body); 
    }); 
} 

getHTML('http://purple.com/', function(html) { 
    console.log(html); 
}); 
+0

Данные (элементы и их атрибуты), которые я получаю, не такие, какие они видны в элементе проверки. Это совсем другое, или вы можете сказать, закодированы. – Tripathi29

+2

unirest.get (url) получит текстовые данные по URL-адресу. Когда вы просматриваете страницу, вы смотрите на страницу после того, как JavaScript ее запустил - так что вы не видите необработанный HTML - вы видите DOM после модов JavaScript. –

+0

, так что вы можете рассказать дорогу, чтобы увидеть сырой html. благодаря – Tripathi29

Смежные вопросы