2010-08-04 15 views
6

यह मेरा कोड है।रूबी नेट में कुकीज़ कैसे कार्यान्वित करें :: HTTP

अब मुझे मेजबान को कुकी भेजनी है लेकिन मुझे कोई समाधान नहीं मिल रहा है।


def get_network_file(url=nil) 
    begin 
    http = Net::HTTP.new(@service_server, 80) 
    resp, data = http.get(url, { "Accept-Language" => @locale }) 
    if resp.code.to_i != 200 
     RAILS_DEFAULT_LOGGER.error "*** return code != 200. code = #{resp.code}" 
     return "" 
    end 
    rescue Exception => exc 
     RAILS_DEFAULT_LOGGER.error "*** message --> #{exc.message}" 
     return "" 
    end 
    return data 
    end 
end 

+0

[कैसे लागू करने के लिए कुकी के संभावित डुप्लिकेट को देखने के लिए चाहते हो सकता है का एक सेट देता है रूबी नेट/http में समर्थन?] (http://stackoverflow.com/questions/1486703/how-to-implement-cookie-support-in-ruby-net-http) –

उत्तर

5

आप एक ही हैश आप भेज रहे हैं के माध्यम से कुकीज़ पारित "स्वीकार-भाषा" शीर्षक है, कुछ की तरह:

resp, data = http.get(url, { 
    "Accept-Language" => @locale, 
    "Cookie" => "YOUR_COOKIE" 
}) 

बाधाओं आप पर कब्जा करने की आवश्यकता होगी कुकी पहले, हालांकि। कुकी हैंडलिंग के उदाहरणों के लिए this देखें।

+0

धन्यवाद। मै कोशिश करुॅगा। – Juanin

2

आपको पहले सर्वर के प्रतिक्रिया के "सेट-कुकी" हेडर फ़ील्ड से अपने सर्वर से कुकी (पुनर्प्राप्त) पुनर्प्राप्त करने की आवश्यकता है। कुकी (ओं) को पुनर्प्राप्त करने के बाद आप इसे अपने ग्राहक के अनुरोध के "कुकी" शीर्षलेख में पास कर देते हैं।

यह सवाल How to implement cookie support in ruby net/http?

स्वीकार किए जाते हैं जवाब में पहले से ही पूछा जाता है वहाँ ठीक है, जब तक कि आपके सर्वर कुकीज़ जिस स्थिति में आप https://stackoverflow.com/a/9320190/1024480

+0

+1 ... दूसरा लिंक अधिक उपयोगी है। –

संबंधित मुद्दे