2011-10-31 10 views
7

उदाहरण के लिए एक मेजबान के लिए सभी कॉल मैप करने के लिए। उदाहरणफ़िडलर: मैं <strong>एक</strong> 'स्वत: नियम है कि एक और मेजबानी के लिए एक मेजबान के लिए सभी कॉल नक्शा होगा, लेकिन <em>यूआरएल</em> की रक्षा का निर्माण करना चाहते हैं: एक' स्वत: नियम बनाने से एक और मेजबान

http://hostname1/foo.html ->http://hostname2/foo.html

और

http://hostname1/js/script.js ->http://hostname2/js/script.js

एक नियम में अभी के लिए, मैंने अपने प्रोजेक्ट कॉल के प्रत्येक यूआरएल के लिए एएन ऑटो रेस्पॉन्स नियम बनाकर इसे पूरा कर लिया है, लेकिन मुझे यकीन है कि सही वाइल्डकार्ड का उपयोग करके सही नियम का एक तरीका होना चाहिए। मैंने http://www.fiddler2.com/Fiddler2/help/AutoResponder.asp पर देखा, लेकिन मैं नहीं देख पा रहा था कि यह कैसे करें। जंगली कार्ड सभी मिलान के आसपास होने लगते हैं, न कि कार्रवाई।

पूर्ण संदर्भ: मैं एक बीटा मंच और दृश्य स्टूडियो पर विकसित कर रहा हूँ में borked है इस तरह दूर है कि यह http://localhost:24575 के सभी अनुरोधों को भेज रहा है जब मेरी परियोजना वास्तव में http://localhost:56832

उत्तर

3

पर चल रहा है एक से नक़्शा बनाने के लिए दूसरे होस्ट करें, ऑटो रेस्पॉन्डर का उपयोग न करें। इसके बजाय, टूल्स> होस्ट पर क्लिक करें।

वैकल्पिक रूप से, आप नियम क्लिक कर सकते हैं> नियम अनुकूलित, OnBeforeRequest तक स्क्रॉल करें और कोड का एक सा लिखें: रेगुलर एक्सप्रेशन का उपयोग संभव है फ़िडलर ऑटोरेस्पोन्डर के साथ

if (oSession.HostnameIs("localhost") && (oSession.port == 24575)) oSession.port = 56832; 
2

मैपिंग अनुरोध। यह rexexp नियमों के साथ किया जा सकता है। हालांकि यह कहीं भी दस्तावेज प्रतीत नहीं होता है।

आप एक नियम जोड़ने और कोष्ठक के भीतर नियमित अभिव्यक्ति का उपयोग करते हैं, इन मैचों वांछित मानचित्रण में इस्तेमाल किया जा सकता है जब प्लेसहोल्डर का उपयोग कर ... $ n

प्रत्येक संख्या शासन में मिलान regexp से मेल खाती है।

Example of Rule: regex:http://server1/(\w*) -> http://server2/ 

This will result in the following mapping: http://server1/foo.html -> http://server2/foo.html 
+1

नियमित अभिव्यक्तियां फिडलर पुस्तक में, ऑटोरेस्पोन्डर टैब से जुड़े सहायता पृष्ठ में और मेरे ब्लॉग पर: http://blogs.msdn.com/b/fiddler/archive/2012/01/09 में प्रलेखित हैं। /fiddler-2.3.8.2-beta-views-woff-mp3-h264-datauris-and-autoresponder-supports-regular-expression-groups.aspx – EricLaw

+0

अच्छी चीजें। मैंने बिना किसी सफलता के इसे सख्त तरीके से गूगल किया है। यह वास्तव में एक प्रमुख विशेषता है। फिडलर के बारे में कूल ब्लॉग! – dustEffect

13

यह मैं कैसे Fiddler2 कॉन्फ़िगर किया गया है:

REGEX:.*/vendor-portal-html/(.*) to http://127.0.0.1/vendor-portal-html/$1 

enter image description here

धन्यवाद ऊपर टिप्पणी के लिए EricLaw रहे हैं:

I want to redirect all requests from http://server-name/vendor-portal-html/ to http://localhost/vendor-portal-html/ 

मेरे विन्यास इस प्रकार है।

3

क्योंकि इस की तुलना में यह को फ़िडलर उपयोग करने के लिए सभी अनुरोधों को अनुप्रेषित एक-दूसरे की मेजबानी के लिए होस्ट करने के लिए के लिए किया जाना चाहिए था पता लगाने के लिए जिस तरह से कठिन था:

उपयोग ऑटोरेस्पोन्डर टैब ऐसी है कि किसी भी अनुरोध मिलान एक नियम स्थापित करने के लिए आपका पुराना होस्ट आपके नए होस्ट पर पथ और क्वेरी स्ट्रिंग के साथ रीडायरेक्ट करेगा।

रेगेक्स विकल्पों के साथ मिलान ix इसे केस-असंवेदनशील बनाने और सफेद जगह को अनदेखा करने के लिए। विकल्प it requires explicitly named capture groups के रूप में छोड़ दें।

अनुरोध के पथ और क्वेरी स्ट्रिंग को कैप्चर करें और इसे $1 का उपयोग करके रीडायरेक्ट प्रतिक्रिया में संलग्न करें, जहां पथ + क्वेरी पहला कैप्चर समूह है। यदि आपके रेगेक्स में अधिक है तो आप कैप्चर समूह $1 - $n का उपयोग कर सकते हैं।

फिडलर HTTP 307 रीडायरेक्ट प्रतिक्रिया जारी करेगा।

अनुरोध: regex:^(?ix)http://old.host.com/(.*)$ #Match HTTP host

प्रतिक्रिया: *redir:http://new.host.com/$1

Redirect old host to new host

अनुरोध

GET http://old.host.com/path/to/file.html HTTP/1.1 
Host: old.host.com 
Accept: */* 
Accept-Encoding: gzip, deflate 
Connection: keep-alive 

रिस्पांस

HTTP/1.1 307 AutoRedir 
Content-Length: 0 
Location: http://new.host.com/path/to/file.html 
Cache-Control: max-age=0, must-revalidate 
+0

पक्ष प्रश्न अनुरोध प्रकार को परिभाषित करने का एक तरीका है (केवल POST अनुरोध कहें) –