php कर्ल के साथ एक फाइल डाउनलोड करें



redirect curl (1)

इस कोड के साथ प्रयास करें

$url = "www.abc.com/xyz";//your url will come here
$fp = fopen ('test.txt', 'w+');
$ch = curl_init(str_replace(" ","%20",$url));
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch); 
curl_close($ch);
fclose($fp);

मैं कर्ल के साथ एक फाइल डाउनलोड करने की कोशिश कर रहा हूँ मुझे एक यूआरएल मिला है जहां फ़ाइल स्थित है, लेकिन यूआरएल फ़ाइल तक पहुँचने से पहले एक रीडायरेक्ट बनाता है। कुछ कारणों से जब मैं URL को सीआरएल के साथ एक्सेस करता हूं, तब मुझे हमेशा लॉगआउट पृष्ठ प्राप्त होता है, लेकिन जब मैं सीधे अपने ब्राउज़र में यूआरएल दर्ज करता हूं तो फ़ाइल बस डाउनलोड करता है जैसा कि यह माना जाता है। जो फाइल डाउनलोड होनी चाहिए वह एक आरएआर फ़ाइल है, लेकिन फ़ाइल के बजाय मुझे गलत लॉगिन पृष्ठ मिलता है।

यह वर्तमान कोड:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$result = curl_exec($ch); 

curl_close($ch);

print_r($result);

जैसा कि आप देख सकते हैं कि मैं रीडायरेक्ट की अनुमति देने के लिए निम्न कोड का उपयोग कर रहा हूं:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

लेकिन अगर मैं उपरोक्त कोड का इस्तेमाल करता हूं तो मुझे वेबसाइट से गलत लॉगिन पृष्ठ प्राप्त होता है I क्या कोई ये देख सकता है कि मैं यहाँ क्या गलत कर रहा हूं?

यह सर्वर से प्राप्त प्रतिरूप है:

HTTP/1.1 302 Found
Date: Tue, 26 Jan 2016 15:33:18 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.3.2
Set-Cookie: PHPSESSID=session_id; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /nl/nl/export/download/t/Mg==/c/MTQ=/
Vary: Accept-Encoding
Content-Length: 0
Content-Type: text/html; charset=UTF-8




server