2016-09-15 4 views
-1

node.jsをインストールしただけで、基本的なget要求を送信できません。私はクロム/ファイアウォールのコンソールで物事を実行するために使用されたが、分岐したい。私がしようとしているのは(テストとして)ウェブページにリクエストを送り、それに何らかのテキストを印刷させることです。私はそれを行うだろうか、Node.jsのでNode.js JavaScript Basic Get Request

$.get("http://stackoverflow.com/questions/1801160/can-i-use-jquery-with-node-js", function(data) { 
console.log($(data).find(".question-hyperlink")[0].innerHTML); 
}); 

:Chromeのコンソールで

は、私はこのような何かをしますか?私はいくつかのことを要求して試してみましたが、いくつかの例はなくなりましたが、どれも働いていませんでした。

その後、リクエストを取得したり送信したりするためにパラメータを追加する必要があります。そのような場合は、{"dog": "bark"}パラメータを使用してリクエストを送信する方法を示すことができますか?そしてJSON {"cat": "meow"}を返したとしたら、どうすればそれを読んだり取得したりできますか?

+4

を[ 'http.request()'](https://nodejs.org/dist/latest -v6.x/docs/api/http.html#http_http_request_options_callback)Node.jsコードのdoc – peteb

+0

リンクありがとうございます! –

+0

また、[要求モジュール](https://github.com/request/request)は、 'npm install request 'でインストールできるようになりました。 – jfriend00

答えて

1

あなたはrequest moduleでインストールすることができます。

npm install request 

そして、その後、あなたのNode.jsのコードでこれを行う:

const request = require('request'); 

request.get("http://stackoverflow.com/questions/1801160/can-i-use-jquery-with-node-js", function(err, response, body) { 
    if (err) { 
     // deal with error here 
    } else { 
     // you can access the body parameter here to see the HTML 
     console.log(body); 
    } 
}); 

要求モジュールは、オプションのパラメータのすべての種類をサポートしていますが、として指定することができますカスタムヘッダーから認証、クエリパラメータまでのすべてのリクエストの一部です。それらのすべてのことを文書でどのように行うかを見ることができます。

DOMのようなインターフェイスでHTMLを解析して検索する場合は、cheerio moduleを使用できます。

npm install request 
npm install cheerio 

そして、このコードを使用して:あなたは読むのに時間を取る必要があります

const request = require('request'); 
const cheerio = require('cheerio'); 

request.get("http://stackoverflow.com/questions/1801160/can-i-use-jquery-with-node-js", function(err, response, body) { 
    if (err) { 
     // deal with error here 
    } else { 
     // you can access the body parameter here to see the HTML 
     let $ = cheerio.load(body); 
     console.log($.find(".question-hyperlink").html()); 
    } 
});