संपादित करें और XHR क्रोम / फ़ायरफ़ॉक्स आदि को फिर से खेलना?


144

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

मैंने Google को थोड़ा सा इधर-उधर कर दिया है, और क्रोम या फ़ायरफ़ॉक्स में ऐसा करने का कोई तरीका नहीं खोजा है। क्या उन ब्राउज़रों में से किसी एक में ऐसा करने का कोई तरीका है, या शायद कोई दूसरा है?


यदि आप यह महसूस करने के बाद यहां उतरते हैं कि "रिप्ले एक्सएचआर" क्रोम में काम नहीं करता है, तो ध्यान दें कि प्रीफ़्लाइट ( OPTIONS) अनुरोधों के मामले में आपको प्रीफ़लाइट अनुरोध पर 'रीप्ले' पर क्लिक करने की आवश्यकता है - वास्तविक अंतिम अनुरोध नहीं।
जनक बंडारा

जवाबों:


180

क्रोम:

  • Devtools के नेटवर्क पैनल में, राइट क्लिक करें और CURL के रूप में कॉपी करें चुनें
  • अनुरोध को चिपकाएँ / संपादित करें, और फिर यह मान लें कि आपके पास curlकमांड है

देखें कब्जा:

यहां छवि विवरण दर्ज करें

वैकल्पिक रूप से, और यदि आपको किसी वेबपेज के संदर्भ में अनुरोध भेजने की आवश्यकता है , तो "कॉपी रूप में लाएं" का चयन करें और जावास्क्रिप्ट कंसोल पैनल से सामग्री को संपादित करें।


फ़ायरफ़ॉक्स:

फ़ायरफ़ॉक्स नेटवर्क पैनल से XHR राइट को संपादित करने और फिर से भेजने की अनुमति देता है। नीचे कब्जा फ़ायरफ़ॉक्स 36 से है:

यहां छवि विवरण दर्ज करें


यह वास्तव में हो सकता है कि मैं क्या देख रहा हूं। मुझे पता था कि मैं cURL कॉल कॉपी कर सकता हूं, लेकिन मैं अपने टर्मिनल से सीधे नहीं चल सकता क्योंकि मुझे प्रमाणित किया जाएगा। लेकिन Chorme में सीधे टर्मिनल के निर्माण के साथ, मुझे लगता है कि कॉल ब्राउज़र के भीतर "से" बना है। यदि ऐसा है, तो इस सौदे को सील करना चाहिए।
22

14
मैंने जवाब में फ़ायरफ़ॉक्स के बारे में जानकारी जोड़ी
माइकल पी। बाजोस

छोटी सी ट्रिक: अगर आप ब्राउज़र में cURL आउटपुट देखना चाहते हैं, तो इसे CLI में इस तरह चलाएं, curl ... > preview.htmlफिर फाइल को ब्राउजर में खोलें।
22

@afilina इस प्रक्रिया को और भी स्वचालित करने के लिए जिसे आप macOS && open preview.htmlपर जोड़ सकते हैं और फ़ाइल अनुरोध के बाद सीधे खुल जाती है
CodeBrauer

2
इस मामले में, फ़ायरफ़ॉक्स अब तक बहुत बेहतर काम कर रहा है!
जेपन्ना

41

क्रोम अब 67 संस्करण में लाने के लिए कॉपी है :

लाने के रूप में कॉपी

नेटवर्क अनुरोध पर राइट-क्लिक करें फिर अपने क्लिपबोर्ड पर उस अनुरोध के लिए असमान कोड को कॉपी करने के लिए कॉपी के रूप में कॉपीfetch() करें।

https://developers.google.com/web/updates/2018/04/devtools#fetch

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

fetch("https://stackoverflow.com/posts/validate-body", {
  credentials: "include",
  headers: {},
  referrer: "https://stackoverflow.com/",
  referrerPolicy: "origin",
  body:
    "body=Chrome+now+has+_Copy+as+fetch_+in+version+67%3A%0A%0A%3E+Copy+as+fetch%0ARight-click+a+network+request+then+select+**Copy+%3E+Copy+As+Fetch**+to+copy+the+%60fetch()%60-equivalent+code+for+that+request+to+your+clipboard.%0A%0A&oldBody=&isQuestion=false",
  method: "POST",
  mode: "cors"
});

अंतर यह है कि कॉपी के रूप में cURL में सभी अनुरोध हेडर (जैसे कुकी और स्वीकार) भी शामिल होंगे और क्रोम के बाहर अनुरोध को फिर से देखने के लिए उपयुक्त है। fetch()कोड एक ही ब्राउज़र के अंदर पुनः के लिए उपयुक्त है।


6
इसके लिए शुक्रिया। किसी और को आश्चर्यचकित करने के लिए - आप बस fetchसीधे क्रोम कंसोल में कमांड पेस्ट कर सकते हैं और अनुरोध फिर से कर सकते हैं।
एरिक किगाथी

7
आप भ्रूण द्वारा लौटाए गए वादे को हल करने के लिए निम्नलिखित का उपयोग कर सकते हैं और प्रतिक्रिया निकाय को देख सकते हैं (यह मानते हुए कि यह JSON है).then(r => r.json()).then(json => console.log(json))
POSIX- आज्ञाकारी

1
@ जोश ली, मुझे लगता है कि POSIX- अनुपालन की युक्तियां अच्छी थीं और इस उत्तर में जोड़ा जा सकता है।
नबी

@ POSIX- संगत अच्छा सुझाव, वहाँ एक छोटी सी आज्ञा है कि मेरे दिमाग में रख सकते हैं ?!
नबी

उन लोगों के लिए जो आश्चर्यचकित करते हैं कि
भ्रूण

20

मेरे दो सुझाव:

  1. क्रोम का पोस्टमैन प्लगइन + पोस्टमैन इंटरसेप्टर प्लगइन । अधिक जानकारी: डाकिया अनुरोध Docs पर कब्जा कर रहा है

  2. यदि आप विंडोज पर हैं तो टेलरिक का फिडलर एक विकल्प है। Http अनुरोधों को फिर से शुरू करने के लिए इसमें एक संगीतकार विकल्प है, और यह मुफ़्त है।


8
जब से मैंने पोस्टमैन + इंटरसेप्टर क्रोम एक्सटेंशन का उपयोग शुरू किया है, मुझे फ़िडलर की कोई आवश्यकता नहीं है।
थ्रेडस्टर

3
क्रोम के लिए FYI पोस्टमैन ऐप अब पदावनत हो गया है और इसे स्टैंडअलोन संस्करण में स्थापित करना थोड़ा अधिक मुश्किल है
yefrem

बहुत बहुत धन्यवाद बस मैं क्या देख रहा था!
मोहम्मद


4

फ़ायरफ़ॉक्स के लिए समस्या स्वयं हल हो गई। इसमें "एडिट एंड रेसेंड" फीचर लागू किया गया है।

क्रोम छेड़छाड़ विस्तार के लिए चाल लगता है।


जिसे कोई और अपडेट नहीं किया गया है और इसकी बुरी समीक्षा नहीं है। इस तरह के काम imo के लिए फ़ायरफ़ॉक्स का उपयोग करने के लिए सबसे अच्छा विकल्प है।
T3rm1

हाँ। बदलने की स्थिति काफी तेजी से बदलती है। अब क्रोम में XHR- अनुरोधों के लिए Resend-for है, लेकिन यह संपादन की अनुमति नहीं देता है।
जरी तुर्किया

फ़ायरफ़ॉक्स ver.76 से सावधान रहें जो एडिट और रेजेंड करते समय CSRF-टोकन के साथ इश्यू करता है। 37 के साथ कोशिश की यह अच्छी तरह से काम किया है, लेकिन ver76 के साथ CSRF टोकन सत्यापन मुद्दा है।
पिल्सीसेयो

1

5 साल बीत चुके हैं और क्रोम देवों द्वारा इस आवश्यक आवश्यकता को अनदेखा नहीं किया गया है।
जबकि वे फ़ायरफ़ॉक्स की तरह डेटा को संपादित करने के लिए कोई विधि नहीं देते हैं, वे पूर्ण XHR रीप्ले प्रदान करते हैं।
यह अजाक्स कॉल को डीबग करने की अनुमति देता है। "रिप्ले एक्सएचआर" पूरे प्रसारण को दोहराएगा।
यहां छवि विवरण दर्ज करें


0

ऐसा करने के लिए कुछ तरीके हैं, जैसा कि ऊपर उल्लेख किया गया है, लेकिन मेरे अनुभव में एक्सएचआर अनुरोध में हेरफेर करने का सबसे अच्छा तरीका है और अनुरोध को कॉपी करने के लिए क्रोम देव टूल्स का उपयोग करना है क्योंकि अनुरोध (नेटवर्क टैब में अनुरोध पर राइट क्लिक करें) ) और बस पोस्टमैन ऐप में आयात करने के लिए (शीर्ष बाएँ में विशाल आयात बटन)।


0

3 पार्टी एक्सटेंशन स्थापित करने की आवश्यकता नहीं है!

वहाँ जावास्क्रिप्ट-स्निपेट मौजूद है , जिसे आप ब्राउज़र-बुकमार्क के रूप में जोड़ सकते हैं और फिर अनुरोधों को ट्रैक और संशोधित करने के लिए किसी भी साइट पर सक्रिय कर सकते हैं । ऐसा लग रहा है:

यहां छवि विवरण दर्ज करें

आगे के निर्देशों के लिए, जीथब पृष्ठ की समीक्षा करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.