title
Description
Body
Добрый день, у меня есть граббер сайта http://eroboom.net/photo/
Все хорошо работает, хочу чтоб когда скачиваешь фотку на странице например http://eroboom.net/photo/img.php?f=!Anal/1331448302/f5e0cba7e43ebea139a71440613794f6/fda860abbbcc2510c75834fd10a9e9d3.jpg
это картинка хочу копировался на мой хост, ну странийу этого картинка точно не вижу чтобы зделал copy();
Так здесь например http://eroboom.net/photo/img.php?f=!Anal/1331448302/f5e0cba7e43ebea139a71440613794f6/fda860abbbcc2510c75834fd10a9e9d3.jpg выбираем размер, потом через пост отправляеться запрос, потом переадресация бываеть http://eroboom.net/photo/size_3/DcnBDYAwCADAWVzAQqGlfToKUDAxxrj,S-972,HoXZAImQdBLdkC3FSCKSwUaar8Bx1JJmcvuXR0UDNzrw3BpQ3iXAg6Yy7ar,f8AA__/Photo_34465662882117.jpg
как мне сначала узнать что суда будеть переадресация
http://eroboom.net/photo/size_3/DcnBDYAwCADAWVzAQqGlfToKUDAxxrj,S-972,HoXZAImQdBLdkC3FSCKSwUaar8Bx1JJmcvuXR0UDNzrw3BpQ3iXAg6Yy7ar,f8AA__/Photo_34465662882117.jpg
здесь и оригиналья фотка (240х320)
Неактивен
он будеть ловить переадресацмю ?
Делаю так
$ch = curl_init('http://eroboom.net/photo/img.php');
curl_setopt($ch, CURLOPT_HEADER, 1); // Отображать в ответе заголовки
curl_setopt($ch, CURLOPT_NOBODY, 1); // Неотображать текст самой страницы
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "rsz=3&df=DcnBDYAwCADAWVzAQqGlfToKUDAxxrj,S-972,HoXZAImQdBLdkC3FSCKSwUaar8Bx1JJmcvuXR0UDNzrw3BpQ3iXAg6Yy7ar,f8AA__");
$header = curl_exec($ch);
curl_close($ch);
echo $header;
Вижу http заголовку location: /
Не могу поймать переадресацию (
Добавлено спустя 8 минут 25 секунд:
Результат HTTP/1.1 302 Found Server: nginx/1.0.0 Date: Mon, 12 Mar 2012 08:56:25 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.2.17 location: / Content-Length: 0 1
Можеть http заголовку тоже передать ? какие нужны передать ?
Отредактировано affet (2012.03.12 13:02)
Неактивен
Вроде работает, просто добавь воды кода
|
|
Добавлено спустя 4 минуты 28 секунд:
В do размести подключение.
И проверяй, если поступил адрес с result[1], то с ним работай.
Не забудь, у тебя грабб, поэтому добавляй адрес сайта-жертвы, где не указано http://
Неактивен
|
|
Отредактировано tipsun (2012.03.12 17:44)
Неактивен
tipsun, проблемы с Location возникают из-за того, что он написан в нарушение HTTP 1/1.
По стандарту там должен быть полный путь, а не относительный.
На php.net много костыльных реализаций на этот счет есть.
Неактивен
tipsun
$url = 'http://eroboom.net/photo/img.php';
$net = curl_init();
//curl_setopt_array($net, $array);
do {
$url = ($result) ? $result[1] : $url;
curl_setopt($net, CURLOPT_URL, $url);
$headers = curl_exec($net);
}
while (preg_match('#Location:\s{0,}([^\r\n]+)#i', $headers, $result));
curl_setopt($net, CURLOPT_URL, $url); // last current address
curl_setopt($net, CURLOPT_POST, 1);
#curl_setopt($net, CURLOPT_USERAGENT, 'Opera 11.61');
curl_setopt($net, CURLOPT_POSTFIELDS, "rsz=3&df=DcnBDYAwCADAWVzAQqGlfToKUDAxxrj,S-972,HoXZAImQdBLdkC3FSCKSwUaar8Bx1JJmcvuXR0UDNzrw3BpQ3iXAg6Yy7ar,f8AA__");
curl_setopt($net, CURLOPT_HEADER, 1);
$html = curl_exec($net);
curl_close($net);
echo $html;
Ответ
HTTP/1.1 302 Found Server: nginx/1.0.0 Date: Mon, 12 Mar 2012 16:53:50 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.2.17 location: / Content-Length: 0
Отредактировано affet (2012.03.12 20:57)
Неактивен