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

Тема в разделе "PHP", создана пользователем vanderv, 22 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. vanderv

    vanderv

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

    bonzaza Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    53
    Симпатии:
    9
    Защиты вроде нет. Единственное, картинки на поддомене расположены.

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

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

    save_image('http://i.colnect.net/images/t/452/872/Landscapes.jpg','Landscapes.jpg');
     
  3. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    PHP:
    Warningfopen(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 
    вот такая ошибка... взял вашу функцию
     
  4. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117


    PHP:
    file_put_contents('img.jpg',file_get_contents('http://i.colnect.net/images/t/253/908/Olympics-Tokyo.jpg'));

     
  5. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    тоже самое=(
     
  6. bonzaza

    bonzaza Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    53
    Симпатии:
    9
    А откуда запускаете скрипт и давно ли парсите этот ресурс ?
    У меня работает как часы, значит есть подозрение, что у вас бан по ip.

    P.S. проверил, на картинке отдается 200 заголовок, проверьте с того ip откуда пытаетесь парсить, какой заголовок будет ?
     
  7. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    запускаю из лакалки (denwer) пока вообще не парсил... ну так чисто тестировал... приходилось по несколько раз запускать... но если бы меня забанили, то я бы вообще не смог бы открыть картинку - а так она открывается в браузере... ща попробую закинуть на сервер
     
  8. bonzaza

    bonzaza Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    53
    Симпатии:
    9
    Очень странно, начал грешить на User-Agent, однако вот логи:

    С User-Agent:
    PHP:
    cmdGET /images/t/452/872/Landscapes.jpg HTTP/1.0
    cmd
    Acceptimage/gifimage/x-xbitmapimage/jpegimage/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:
    cmdGET /images/t/452/872/Landscapes.jpg HTTP/1.0
    cmd
    Acceptimage/gifimage/x-xbitmapimage/jpegimage/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
    Надо еще подумать, но больше всего похоже на бан =)
     
  9. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    на сервере все норм. картинка закачалась. на локалке по прежнему не идет.
     
  10. CNiks0N

    CNiks0N lamp.root

    Регистр.:
    28 ноя 2008
    Сообщения:
    230
    Симпатии:
    48
    Проверь настройки фаерволла, если такой имеется и антивиря
     
Статус темы:
Закрыта.