2012-09-06 24 views

答えて

13

素晴らしいrequestのライブラリクッキーは、デフォルトで有効になっています。あなたはそう(Githubのページから取られた)のような独自に送信することができます。

var j = request.jar() 
var cookie = request.cookie('your_cookie_here') 
j.add(cookie) 
request({url: 'http://www.google.com', jar: j}, function() { 
    request('http://images.google.com') 
}) 
+1

しかし、コードはデフォルトモジュールのみでどのように見えますか? – jiyinyiyong

+0

ああ、わからない。私は自分のリクエストにデフォルトのhttpクライアントを使用しようとしたことはありません。 – Femi

+0

私は、HTTPについてもっと学び始めました。私は、デフォルトの 'http'モジュールにそれを行うメソッドがあるとすれば、それについてもっと詳しく知ることができると思います。 – jiyinyiyong

4

あなたはネイティブhttp:request()方法でそれをしたい場合は、適切なSet-Cookieヘッダーを設定する必要があります(彼らは何のためにHTTPリファレンスを参照してくださいはoptions引数のheadersのメンバのようになります)。クッキーを扱うためのネイティブコードには特別なメソッドはありません。具体的な例が必要な場合は、Mikealのrequestライブラリのソースコードを参照してください。cookieParserのコードをconnectに表示してください。

しかし、Femiはほぼ正しいです:クッキーを扱うことは、はっきりとした細部に満ちています。すでに書かれているコードを使って、より重要なことになるでしょう。この特定の車輪を再発明しようとすると、ほとんどの時間で動作すると思われるコードが出現する可能性がありますが、時折予期せぬことに神秘的に失敗します。

0
var jar = request.jar(); 
const jwtSecret = fs.readFileSync(`${__dirname}/.ssh/id_rsa`, 'utf8'); 
const token = jwt.sign(jwtPayload, jwtSecret, settings); 
jar.setCookie(`any-name=${token}`, 'http://localhost:12345/'); 
const options = { 
    method: 'GET', 
    url: 'http://localhost:12345', 
    jar, 
    json: true 
}; 
request(options, handleResponse); 
+0

あなたの答えに関する詳しい説明や情報、質問された問題の解決方法を追加して、他の人が解明を求めずに簡単に理解できるようにしてください – koceeng

関連する問題