2015-12-11 7 views
9
function getCookies(){ 

    request('http://google.com', function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(response.headers); 
     } 
    }) 
} 

परिणामnode.js में अनुरोध मॉड्यूल से कुकीज़ कैसे प्राप्त करें?

{ date: 'Fri, 11 Dec 2015 07:15:50 GMT', 
    expires: '-1', 
    'cache-control': 'private, max-age=0', 
    'content-type': 'text/html; charset=EUC-KR', 
    p3p: 'CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info."', 
    server: 'gws', 
    'x-xss-protection': '1; mode=block', 
    'x-frame-options': 'SAMEORIGIN', 
    'set-cookie': 
    [ 'PREF=ID=1111111111111111:FF=0:TM=1449818150:LM=1449818150:V=1:S=Q3BB20FA6TkaZymd; expires=Thu, 31-Dec-2015 16:02:17 GMT; path=/; domain=.google.co.kr', 
    'NID=74=hnriWxk7N9jHtP5W0qgaxrwD1YuNKOmJg748ucxWilu9jaqHJVovfkYdvMr0tlp-VToID5cdTNDSXNXqr4M8umJ9traab67x2xZKfu3hJbsBRXeVvyiCOcwZ8bkXNcU4; expires=Sat, 11-Jun-2016 07:15:50 GMT; path=/; domain=.google.co.kr; HttpOnly' ], 
    'accept-ranges': 'none', 
    vary: 'Accept-Encoding', 
    connection: 'close' } 

मैं प्रतिक्रिया हेडर से 'सेट कुकी' का मान प्राप्त करना चाहते हैं। इसे कैसे उठाया जाए? क्या कोई अच्छा और सरल तरीका है? क्या मुझे दायरकी से कथन के लिए उपयोग करना चाहिए, या। मुझे क्या करना चाहिए? मुझे नहीं पता कि मैं जावास्क्रिप्ट पर पूरी तरह से नौसिखिया हूँ। धन्यवाद ...

उत्तर

7
function getCookies(callback){ 

    request('http://google.com', function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      return callback(null, response.headers['set-cookie']); 
     } else { 
      return callback(error); 
     } 
    }) 
} 

तो आप कॉल कर सकते हैं:

getCookies(function(err, res){ 
    if(!err) 
     console.log(res) 
}) 
+0

वाह, सच में? यह सर्वर पक्ष पर एक्सप्रेस की तुलना में कुकीज़ प्राप्त करने के लिए एक बहुत ही कम अनुकूल तरीका है जहां मैं बस "req.cookies.cookieName" कह सकता हूं – Michael

6

आम तौर पर नोड के साथ बात है, अगर यह एक आम समस्या हल करने के लिए है, कोई पहले से ही लिख सकते हैं और NPM पर कुछ प्रकाशित करने के लिए परेशान करने के लिए चला गया।

उदाहरण के लिए, request-cookies!

विशेष रूप से, मुझे लगता है कि आपको toJSON() विधि सबसे उपयोगी मिलेगी, हालांकि स्वीकार्य रूप से पैकेज का दस्तावेज अपेक्षाकृत हल्का है। आप कुछ कामकाजी उदाहरणों के लिए tests देख सकते हैं।

जिसके अनुसार, पहले से ही अनुरोध के साथ-साथ कुकीज़ पर कुछ व्यापक प्रलेखन है - आप इस सूट अपनी आवश्यकताओं मिल सकती है:

कुकीज़ डिफ़ॉल्ट रूप से अक्षम कर रहे हैं (और कुछ, वे अनुवर्ती अनुरोधों में इस्तेमाल किया जाएगा)। कुकीज़ सक्षम करने के लिए, jartrue पर सेट करें (या तो defaults या options में)।

(कुकीज़ के बारे में बिट्स खोजने के लिए readme के नीचे नीचे स्क्रॉल करें)।

4

यहां बताया गया है कि आप अनुरोध-कुकीज का उपयोग कैसे कर सकते हैं @brandonscript ने कहा। Goolge से

var request = require('request'); 
var Cookie = require('request-cookies').Cookie; 

request.get('https://google.com', function(err, response, body) { 
    var rawcookies = response.headers['set-cookie']; 
    for (var i in rawcookies) { 
    var cookie = new Cookie(rawcookies[i]); 
    console.log(cookie.key, cookie.value, cookie.expires); 
    } 
}); 

नमूना उत्पादन:

NID 98=FfYHDY9-40JzE78qxIpaMugODJ4y4zJIydluKUffvh1lDs70DYk7vrlmw2ca2gD54ywx5WV44Utz9EdLOdFE6IcW2BUGfiVpHZx3kWh69tT_eWlXZTiFkRo7TVr_9WWH 2017-09-08T04:22:41.000Z 
संबंधित मुद्दे