linux - एक पृष्ठ तक पहुंचने के लिए curl जिसके लिए किसी भिन्न पृष्ठ से लॉगिन की आवश्यकता होती है




bash cookies (2)

मेरे पास 2 पृष्ठ हैं: xyz.com/a और xyz.com/b । मैं केवल xyz.com/b तक पहुंच सकता xyz.com/b अगर केवल मैं xyz.com/a लॉगिन करता xyz.com/a । यदि xyz.com/b को दूसरे के माध्यम से बिना xyz.com/b जा रहा है, तो मुझे ब्राउजर के माध्यम से एक्सेस अस्वीकार (लॉगिन करने के लिए रीडायरेक्ट नहीं) मिलता है। एक बार जब मैं xyz.com/a पर लॉगिन करता xyz.com/a , तो मैं दूसरे तक पहुंच सकता हूं।

मेरी समस्या curl कमांड का उपयोग कर यह कर रही है। मैं curl का उपयोग कर xyz.com/a सफलतापूर्वक लॉगिन कर सकता हूं, लेकिन फिर xyx.com/b और मुझे पहुंच से वंचित कर दिया गया है।

मैं निम्नलिखित का उपयोग करता हूं:

curl --user user:pass https://xyz.com/a  #works ok
curl https://xyz.com/b #doesn't work

मैंने उपयोगकर्ता / पासवर्ड भाग के साथ और बिना दूसरी लाइन का उपयोग करने का प्रयास किया है और अभी भी काम नहीं करता है। दोनों पेज एक ही सीए का उपयोग करते हैं, इसलिए यह कोई समस्या नहीं है। कोई सुझाव? धन्यवाद


इसके अलावा आप ब्राउज़र के माध्यम से लॉग इन करना चाहेंगे और कुकीज़ सहित सभी शीर्षकों के साथ कमांड प्राप्त कर सकते हैं:

डेवलपर टूल्स का नेटवर्क टैब खोलें, लॉग इन करें, आवश्यक पेज पर नेविगेट करें, "कर्ल के रूप में कॉपी करें" का उपयोग करें।


कुछ googling के बाद मुझे यह मिला:

curl -c cookie.txt -d "LoginName=someuser" -d "password=somepass" https://oursite/a
curl -b cookie.txt https://oursite/b

कोई विचार नहीं है कि यह काम करता है, लेकिन यह आपको सही दिशा में ले जा सकता है।







http-authentication