php curl и instagram Фотографии
Вопрос
Так кто-то твит ссылку на фото в Instagram: http://instagr.am/p/qsvkr8ls3h/
Это перенаправляет из http://t.co/boj4ex2j до http://instagr.am/p/qsvkr8ls3h/ на фактическую страницу Instagram http://instagram.com/p/qsvkr8ls3h/ где находится фото.
Cool. Все это хорошо и хорошо. Теперь я хочу, чтобы скручиваемый следовать в Tweeted Link и загрузите эту окончательную страницу, которая содержит фотографии. Сценарий выглядит в основном, как это:
$target = 'http://t.co/bOJ4EX2j';
$ch = curl_init();
curl_setopt ($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt ($ch, CURLOPT_POST, FALSE);
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); // Defined Constant
curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);
curl_setopt ($ch, CURLOPT_TIMEOUT, CURL_TIMEOUT); // Defined Constant
curl_setopt ($ch, CURLOPT_USERAGENT, WEBBOT_NAME); // Defined Constant
curl_setopt ($ch, CURLOPT_URL, $target); // Target site
curl_setopt ($ch, CURLOPT_REFERER, ''); // Referer value
curl_setopt ($ch, CURLOPT_VERBOSE, FALSE); // Minimize logs
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // No certificate
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects
curl_setopt ($ch, CURLOPT_MAXREDIRS, 4); // Limit redirections to four
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return in string
# Create return array
$return_array['FILE'] = curl_exec($ch);
$return_array['STATUS'] = curl_getinfo($ch);
$return_array['ERROR'] = curl_error($ch);
# Close PHP/CURL handle
curl_close($ch);
return $return_array;
.
Теперь этот скрипт имеет много более компонентов, но это просто часть скручиваемости. Теперь ей удается забрать, что он приземлился на правильной финальной странице http://instagram.com/p/ QSVKR8LS3H / ) Где изображение - но это то, что $ return_array ['file'] выплесет:
500 Server Error
An internal server error occurred.
.
Даже когда вы переписываетесь на страницу в браузере, с выключенным файлом cookie, а не вписаться в Instagram (если бы вы были) страницы полностью загружается!
Что, черт возьми, я скучаю по этому не допустить сценарий для загрузки страницы Instagram?! Он работает практически о каждой другой странице, которую я пробую! Просто не instagram.com?!
Пожалуйста, кто-то поможет мне взломать этот орех вопроса - я бы очень ценю любую помощь или проницательность.
Решение
Если вы запускаете этот код на сервере, а не на локальном компьютере, возможно, что между сервером и Instagram.com.Проверьте код с локальной машины, убедитесь, что он также работает в браузере на одной машине .
Если вы получите эту работу и открываю, как сказал Джастин Wood, что у вас есть HTML-страница, а не имидж, который вы хотите, я могу помочь вам с некоторым PHP, чтобы получить URL-адрес изображения (для которого вы тогда имеетеЧтобы запустить другой запрос скручиваемости).
Другие советы
Как сказал многим из нас, этот код, кажется, работает идеально в порядке.Все, что я могу предложить, это то, что вы уверены, что отчеты об ошибках включены, а затем проверьте журналы ошибок PHP в базовом каталоге.
Вы также можете проверить, что модуль Curl включен в php.ini.
Не уверен, что еще можно не так.