मैं एक वेबसाइट से एक फ़ाइल डाउनलोड करने की कोशिश कर रहा हूं जिसमें लॉगिन की आवश्यकता होती है। यह आदेश cookie.txt को पुनः प्राप्त करता है और डाउनलोड किए गए HTML शो मैं लॉग इन (ठीक) करता हूं:
(मैंने पठनीयता के लिए लाइनों को तोड़ दिया)
wget
--user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0)
Gecko/20100101 Firefox/45.0"
--keep-session-cookies
--save-cookies cookies.txt
--post-data "login_username=MyUserName&login_password=*******"
--header="Host: somewebsite.com"
--header="Referer: http://somewebsite.com/files/download.php?i=2157716"
http://somewebsite.com/login.php
यहां मुझे कुकीज़ मिल गई हैं। (सब ठीक है)। और उसके बाद: (डाउनलोड करने की कोशिश कर रहा है)
wget
--user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0)
Gecko/20100101 Firefox/45.0"
--load-cookies cookies.txt
--header="Host: somewebsite.com"
--header="Referer: http://somewebsite.com/files/download.php?i=2157716"
--header="Connection: keep-alive" --header="Accept-Language: en-US,en;q=0.5"
--header="Accept-Encoding: gzip, deflate"
http://somewebsite.com/files/dl.php?t=2157716
लेकिन फ़ाइल को डाउनलोड करने के बजाय यह कहकर एक HTML लौटाता है कि फ़ाइल केवल वेबसाइट से डाउनलोड की जा सकती है।
यहाँ डाउनलोड शुरू होने से ठीक पहले फ़ायरफ़ॉक्स से POST डेटा है:
क्या चीज़ छूट रही है?
wget
जावास्क्रिप्ट रीडायरेक्ट को हैंडल नहीं करता है।