2010-07-27 13 views

उत्तर

62

सरल ... आप एक हैडर मूल्य इतना की तरह, आपके अनुरोध के साथ, निर्धारित करने की आवश्यकता:

Cookie: YourCookieName=YourCookieValue 
+2

कुकी को इस तरह से सेट नहीं करता है कि क्लाइंट जानता है कि कुकी वहां है। निर्दिष्ट लाइन भी अन्य सभी कुकीज़ को प्रभावी ढंग से "छुपा" देगी। – EricLaw

+6

बस इस पर ठोकर खाई क्योंकि यह प्रश्न Google में उच्च है। एकाधिक कुकीज़ के लिए 'कुकी: कुकी नाम 1 = कुकीवेल 1 का उपयोग करें; CookieName2 = CookieVal2' और पथ/प्रोटोकॉल विवरण के लिए 'कुकी: कुकी नाम 1 = कुकीवेल 1; CookieName2 = CookieVal2; पथ = /; HttpOnly' – EvilDr

2

फिडलर आपको मौजूदा अनुरोध को फिर से भेजने/पुनर्निर्माण करने की अनुमति देता है। Request Builder है। रॉ फॉर्म में पुनर्निर्माण करते समय, अपनी कुकीज़ को संशोधित करें।

+2

यह मौजूदा अनुरोधों के लिए ठीक है - लेकिन यह एक नया अनुरोध है जिसके लिए कुकी की आवश्यकता होती है। –

7

आपको जो करना है, उसके बारे में आपको और अधिक विशिष्ट होने की आवश्यकता है।

आप वेबसाइट पर कुकी भेजने के लिए आउटबाउंड कुकी हेडर को संपादित (या जोड़ सकते हैं)। आप इसे या तो मैन्युअल रूप से या FiddlerScript engine के माध्यम से कर सकते हैं। लेकिन यह क्लाइंट पर कुकी को "सेट" नहीं करता है - यह बस इसे सर्वर पर भेजता है। यदि आप क्लाइंट पर कुकी सेट करना चाहते हैं, तो आपको या तो किसी अन्य माध्यम का उपयोग करना होगा, या आप क्लाइंट पर सेट वैल्यू के साथ, सर्वर से पिछली प्रतिक्रिया पर सेट-कुकी प्रतिक्रिया शीर्षलेख इंजेक्ट कर सकते हैं।

+0

धन्यवाद एरिक, आउटबाउंड कुकी हेडर सेट करना ठीक वही है जो मैं करना चाहता हूं। (बीटीडब्ल्यू फिडलर एक बेहतरीन उपकरण है, मैं लगभग 250 डेवलपर्स की एक टीम में काम कर रहा हूं, जिनमें से प्रत्येक दिन इसे काफी ज्यादा उपयोग करता है। हमें आरईएसटी सेवाओं के साथ निम्न स्तर के मुद्दों का निदान करने के लिए टिकट मिल गया है।) –

16

FiddlerScript engine का उपयोग कर ऐसा करने के लिए, onBeforeRequest विधि में निम्न कोड जोड़ें:

oSession.oRequest["Cookie"] = (oSession.oRequest["Cookie"] + ";YourCookieName=YourCookieValue"); 

यह सेट की गई किसी भी अन्य कुकीज़ को सुरक्षित रखेगा।

+0

मैं इस एक-लाइनर का उपयोग कुकी के मान को "प्रतिस्थापित" करने के लिए करता हूं और कुकी मान सेट करता हूं। यह उस मामले को भी संभालता है जहां कुकी हेडर प्रारंभिक अनुरोध का हिस्सा नहीं था। 'oSession.oRequest ['कुकी'] = oSession.oRequest ['कुकी']? oSession.oRequest ['कुकी']। बदलें ("YourCookieName =", "ignoredYourCookieName =") + "; YourCookieName = YourCookieValue": "YourCookieName = YourCookieValue"; ' –

5

आप फिडलर संगीतकार का भी उपयोग कर सकते हैं।

  1. भागो फ़िडलर
  2. ओपन संगीतकार टैब शीर्ष पर।

यदि आप अपनी वेबसाइट से दूसरे अनुरोध के साथ शुरू कर सकते हैं तो यह सबसे आसान है। ऐसा करने के लिए आप जिस अनुरोध को संशोधित करना चाहते हैं उसे कैप्चर करें, फिर इसे यूआई से संगीतकार टैब पर खींचें।

एक अच्छा विवरण यहाँ है:

आप एपीआई/यूआरएल जो प्रमाणीकरण सक्षम है परीक्षण करना चाहते हैं, तो कृपया निम्नलिखित का प्रयास करें, मैं के लिए दिखा रहा हूँ: http://www.debugtheweb.com/Fiddler/help/composer.asp

1

यह समाधान कुकी आधारित प्रमाणीकरण के लिए मान्य है आईआईएस सर्वर पर एमवीसी वेब एपीआई। आम तौर पर वहाँ प्राधिकरण के लिए 1 से अधिक कुकी जिम्मेदार हैं, तो आप शीर्ष लेख में 1 से अधिक कुकी भेजने का इस प्रकार की आवश्यकता हो सकती:

User-Agent: Fiddler Host: localhost:51000 content-Type: application/json Cookie : .ASPXAUTH=xxxxx;ASP.NET_SessionId=yyyy;__RequestVerificationToken=zzzz 
0

जब Fiddler as a reverse Proxy चल आप FiddlerScript के माध्यम से प्रतिक्रिया हेडर संशोधित कर सकते हैं में एक पंक्ति जोड़कर OnBeforeResponse विधि:

static function OnBeforeResponse(oSession: Session) { 
    // ... 
    oSession.oResponse["Set-Cookie"] = "sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT"; 
} 

भी अधिक जानकारी के लिए Modifying a Request or Response के बारे में फ़िडलर डॉक्स की जाँच करें।

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

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