Нужна помощь в ведении сессии в PHP Curl - PullRequest
0 голосов
/ 15 марта 2011

Я хочу получить изображения с http://www.ps3 -themes.com / , но всякий раз, когда я напрямую вводю URL изображения, это не работает. Он перенаправляет его на основной URL сайта. Я использую следующий код.

$cookie_file = 'c:/tmp-cookie.txt';
$crl = curl_init();
curl_setopt($crl, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($crl, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($crl, CURLOPT_URL, "http://www.ps3-themes.com/wp-content/uploads/2011/03/11414-FordF150RaptorSVT.jpg");
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($crl, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($crl);

if (file_exists($cookie_file)) {
print 'Created cookie file ' . $cookie_file;
} else {
print 'Could not create cookie file ' . $cookie_file;
}

Я могу сказать, что это требует поддержания сеанса, но не уверен, как это сделать .-

Ответы [ 3 ]

1 голос
/ 15 марта 2011

Судя по всему, это не проблема с cookie, а проблема с реферером - попытка отобразить изображение из любого места, но сам сайт вместо этого перенаправит на сайт.Обычно это делается для предотвращения хотлинкинга, что раздражает пропускную способность.

Вы можете обойти эту проблему, установив в вашем реферере cURL HTTP соответствующий URL.

0 голосов
/ 15 марта 2011

1-й вы пытаетесь открыть изображение прямо в браузере. Это не открывается. Возможно, изображение отсутствует или требуется авторизация.

0 голосов
/ 15 марта 2011

Попробуйте использовать session_write_close () перед выполнением запроса CURL.

...