скачать изображение по url

Статус
В этой теме нельзя размещать новые ответы.

vanderv

Старатель
Регистрация
30 Май 2009
Сообщения
270
Реакции
12
Пишу парсер. Нужно достать картинку с сайта. Только там походу стоит защита, потому что упорно не отдает картинку.
вот сайт - Для просмотра ссылки Войди или Зарегистрируйся
картинки почтовых марок. Если там действительно защита, то как её обойти? заранее благодарю откликнувшихся!
 
Защиты вроде нет. Единственное, картинки на поддомене расположены.

А каким методом забирается картинка ? У меня такой код работает:

PHP:
function save_image($inPath,$outPath) {
    $in=    fopen($inPath, "rb");
    $out=   fopen($outPath, "wb");
    while ($chunk = fread($in,8192)) {
        fwrite($out, $chunk, 8192);
    }
    fclose($in);
    fclose($out);
}

save_image('http://i.colnect.net/images/t/452/872/Landscapes.jpg','Landscapes.jpg');
 
PHP:
Warning: fopen(http://i.colnect.net/images/t/452/872/Landscapes.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in

вот такая ошибка... взял вашу функцию
 
PHP:
Warning: fopen(http://i.colnect.net/images/t/452/872/Landscapes.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in

А откуда запускаете скрипт и давно ли парсите этот ресурс ?
У меня работает как часы, значит есть подозрение, что у вас бан по ip.

P.S. проверил, на картинке отдается 200 заголовок, проверьте с того ip откуда пытаетесь парсить, какой заголовок будет ?
 
запускаю из лакалки (denwer) пока вообще не парсил... ну так чисто тестировал... приходилось по несколько раз запускать... но если бы меня забанили, то я бы вообще не смог бы открыть картинку - а так она открывается в браузере... ща попробую закинуть на сервер
 
Очень странно, начал грешить на User-Agent, однако вот логи:

С User-Agent:
PHP:
cmd> GET /images/t/452/872/Landscapes.jpg HTTP/1.0
cmd> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
cmd> User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)
cmd> Host: i.colnect.net
cmd> 
hdr> HTTP/1.1 200 OK
hdr> Server: cloudflare-nginx
hdr> Date: Mon, 22 Nov 2010 20:08:55 GMT
hdr> Content-Type: image/jpeg
hdr> Connection: close

Без User-Agent:
PHP:
cmd> GET /images/t/452/872/Landscapes.jpg HTTP/1.0
cmd> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
cmd> Host: i.colnect.net
cmd> 
hdr> HTTP/1.1 200 OK
hdr> Server: cloudflare-nginx
hdr> Date: Mon, 22 Nov 2010 20:09:27 GMT
hdr> Content-Type: image/jpeg
hdr> Connection: close

Надо еще подумать, но больше всего похоже на бан =)
 
на сервере все норм. картинка закачалась. на локалке по прежнему не идет.
 
Проверь настройки фаерволла, если такой имеется и антивиря
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху