कैश का उपयोग किए बिना कर्ल कमांड


82

क्या कर्ल कमांड को सर्वर के कैश का उपयोग न करने का एक तरीका है? जैसे; मेरे पास यह कर्ल कमांड है:

curl -v www.example.com

मैं कैश का उपयोग न करने के लिए नए अनुरोध भेजने के लिए कर्ल कैसे पूछ सकता हूं?

नोट : मैं टर्मिनल में एक निष्पादन योग्य कमांड की तलाश कर रहा हूं।


1
आपको क्या लगता है कि कर्ल अनुरोध को रोक रहा है?
पेक्का

मैं सर्वर साइड कैशिंग के बारे में बात कर रहा हूं; मान लीजिए कि साइट का उपयोग हो रहा हैmemcache
tokhi

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

कैश को बायपास करने के लिए एक तर्क को स्वीकार करने के लिए सर्वर-साइड पर अपने आवेदन को कोड करें।
बुफ्फ जूल

3
मुझे लगता है कि एलेक्स जिस बारे में बात कर रहा है वह URL में एक पैरामीटर भेज रहा है, कहते हैं कि http://www.example.com/?caching=offआप एक कस्टम हेडर भी भेज सकते हैं: stackoverflow.com/questions/356705/… लेकिन निश्चित रूप से आपके सर्वर साइड एप्लिकेशन को उन कमांड को समझना होगा और उन पर कार्य करना होगा कैशिंग बंद करना। अगर कोई किसी दूरस्थ साइट के कैशिंग तंत्र को निष्क्रिय कर सकता है, तो यह एक सुरक्षा
घेरा होगा

जवाबों:


164

मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन मैं एक ही प्रश्न के साथ उपयोगकर्ताओं के लिए उत्तर पोस्ट करना चाहता था:

curl -H 'Cache-Control: no-cache' http://www.example.com

यह कर्ल कमांड सर्वर अपने हेडर में वेब सर्वर से गैर-कैश किए गए डेटा को वापस करने का अनुरोध करता है।


2
इसे क्यों ठुकरा दिया गया? यह मेरे लिए बहुत अच्छा काम किया और यह सवाल का जवाब देता है।
मंकपिट

1
मैं भिक्षु से सहमत हूं। यह महान काम करता है और उत्तर के रूप में स्वीकार किया जाना चाहिए।
अरनौदआर

9
यह कभी-कभी मदद करता है, लेकिन काम करने की गारंटी नहीं है। सर्वर या बीच में प्रॉक्सी no-cacheअनुरोध को अनदेखा कर सकता है ।
वारबैंक

73

-H 'Cache-Control: no-cache'तर्क काम की गारंटी नहीं है क्योंकि दूरस्थ सर्वर या बीच में किसी भी प्रॉक्सी परतों इसे अनदेखा कर सकते हैं। यदि यह काम नहीं करता है, तो आप इसे एक अद्वितीय querystring पैरामीटर जोड़कर पुराने ढंग से कर सकते हैं। आमतौर पर, सर्वर / प्रॉक्सी सोचेंगे कि यह एक अनूठा URL है और कैश का उपयोग नहीं कर रहा है।

curl "http://www.example.com?foo123"

आपको हर बार एक अलग querystring मान का उपयोग करना होगा। अन्यथा, सर्वर / परदे के पीछे कैश से मेल खाएगा। स्वचालित रूप से हर बार एक अलग querystring पैरामीटर उत्पन्न करने के लिए, आप उपयोग कर सकते हैं date +%s, जो कि सेकंड के बाद से वापस आ जाएगा।

curl "http://www.example.com?$(date +%s)"

2
आपने अभी-अभी मेरा दिन बचाया है!
जॉनी बुई

1
यह एक महान पुराने स्कूल टिप है। उसके वजन में सोने के लायक। धन्यवाद! \ o /
एनवाईसीईएस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.