Wget के साथ इस वेबपेज को कैसे डाउनलोड करें?


6

मैं वेब पेज http://forum.ubuntu-it.org/ डाउनलोड करना चाहता हूं , लेकिन इसके लिए उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है। इसलिए मैंने इसका उपयोग किया है:

wget --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

लेकिन यह काम नहीं करता है! क्यों?

जवाबों:


2

संभवतः इसलिए कि सर्वर प्रमाणीकरण को ट्रैक करने के लिए सत्र कुकीज़ का उपयोग करता है। --save-cookiesकुकी को सहेजने के लिए बाध्य करने के साथ विकल्प जोड़ें । तो आपका कमंडल इस तरह दिखता है:

wget --keep-session-cookies --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

हालांकि मैंने इसका परीक्षण नहीं किया है।


6

यहां एक उदाहरण स्क्रिप्ट दी गई है जो क्रोम (v19) से कुकीज़ डंप करेगी।

#!/bin/bash -e
#
# Quick and dirty script which dumps all Chrome cookies in 
# the specified SQLite database to stdout in Netscape format.

COOKIE_FILE='~/.config/google-chrome/Default/Cookies'

echo -e '.mode tabs \n select host_key, httponly, path, secure, ' \
  'expires_utc/10000000, name, value from cookies;' |
  sqlite3 $COOKIE_FILE |
  sed -e 's/\t0\t/\tFALSE\t/g ' -e 's/\t1\t/\tTRUE\t/g'

यह बदलने के बाद काम ~में COOKIE_FILEमेरी विन्यास में अपनी विशेष मूल्य द्वारा। मुझे लगता है कि exportमेरे सिस्टम में कोई कमी है या पसंद है। यह परिवर्तन करने से पहले मुझे जो त्रुटि प्राप्त हुई थी, वह थी unable to open database file
naitoon

कृपया चर को "उद्धरण" दें sqlite $COOKIE_FILE
एकॉस्टिस

0

जैसा कि कॉलिन सुझाव देते हैं, यह साइट प्रमाणीकरण के लिए सत्र कुकीज़ का उपयोग कर रही है, लेकिन उनका जवाब पूरी तरह से काम नहीं करेगा क्योंकि यह आपको लॉग इन नहीं करेगा।

प्रारंभिक अनुरोध पर सर्वर पर जाने के लिए आपको एक कुकी रखने की आवश्यकता होती है। Wget के --load-cookiesविकल्प का उपयोग करें ( यहाँ प्रलेखित है )। ध्यान दें कि यह पुराने कुकीज़.टेक्स्ट फ़ाइल प्रारूप का उपयोग करता है बजाय साइक्लाइट डेटाबेस प्रारूप जो वर्तमान में फ़ायरफ़ॉक्स और क्रोम उपयोग करता है।

यहाँ मैं क्या करूँगा:

  1. फ़ायरफ़ॉक्स या क्रोम का उपयोग करके, साइट पर जाएं और लॉग इन करें (सुनिश्चित करें कि आपका ब्राउज़र कुकीज़ को बचाने के लिए सेट है)
  2. अपने ब्राउज़र से बाहर निकलें
  3. अपनी कुकी फ़ाइल ढूंढें
  4. कुकीज़ में परिवर्तित करें। पाठ प्रारूप (इस पर नीचे नोट देखें)
  5. wget --load-cookies cookies.txt http://forum.ubuntu-it.org/

साइक्लाइट प्रारूप से कुकीज में बदलने के लिए विकल्प। एक पाइथन स्क्रिप्ट या एक सरल साइक्लाइट स्क्रिप्ट (उस पिछले लिंक पर टिप्पणियों में) शामिल हैं, लेकिन आपके लिए सबसे आसान यह फ़ायरफ़ॉक्स एक्सटेंशन स्थापित करना हो सकता है ।

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