PiTheNumber के जवाब महान था, लेकिन मैं इसके साथ कुछ मुद्दों में भाग कि यह अभी भी प्रिंट करने का कारण: इसके लिए मैं कर्ल से कुकीज़ रही, http शीर्षलेख पार्स, कई कुकीज़ और सत्र ताला भेजने जैसी कुछ समस्याओं का समाधान करने के लिए आवश्यक पृष्ठ पर शीर्षलेख। इसलिए मैंने इसे अधिक विश्वसनीय curl_getinfo
फ़ंक्शन का उपयोग करने के लिए समायोजित किया। यह संस्करण रीडायरेक्ट का भी पालन करता है।
public function get_page_content($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_HEADER, 1);
// Forward current cookies to curl
$cookies = array();
foreach ($_COOKIE as $key => $value) {
if ($key != 'Array') {
$cookies[] = $key . '=' . $value;
}
}
curl_setopt($ch, CURLOPT_COOKIE, implode(';', $cookies));
$destination = $url;
while ($destination) {
session_write_close();
curl_setopt($ch, CURLOPT_URL, $destination);
$response = curl_exec($ch);
$curl_info = curl_getinfo($ch);
$destination = $curl_info["redirect_url"];
session_start();
}
curl_close($ch);
$headers = substr($response, 0, $curl_info["header_size"]);
$body = substr($response, $curl_info["header_size"]);
// Extract cookies from curl and forward them to browser
preg_match_all('/^(Set-Cookie:\s*[^\n]*)$/mi', $headers, $cookies);
foreach($cookies[0] AS $cookie) {
header($cookie, false);
}
return $body;
}
ऐसा लगता है कि मुझे ऑटो रीडायरेक्ट या कुछ जैसे मानक समाधान मिलना चाहिए। धन्यवाद –