Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> CURL 403 forbidden, В браузере всё нормально, curl не тянет
Serg86  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 26 дней
Карма:




В общем суть проблемы в том, что по прямой ссылке в браузере изображение открывается, через curl не получается сохранить. Пробывал скопировать заголовки передаваемые браузером, не работает, 403 ошибка и всё тут. Не знаю что и думать уже.

Вот ссылка на картинку http://grainboard.ru/data/tradeboard/80976...d15hnlr_img.png

вот скрипт, один из вариантов того что пробывал:
<?
$imgname = 'tradeboard15hnlr_img.png';
$ish ='http://grainboard.ru/data/tradeboard/80976/tradeboard15hnlr_img.png';
$ch = curl_init($ish);
$fp = fopen('img/ish1/'.$imgname, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);


//шлем заголовки
$headers = array();
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$headers[] = 'Accept-Encoding: gzip, deflate';
$headers[] = 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
$headers[] = 'Cache-Control: max-age=0';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Cookie: talks_order=comment; sig=3; _ym_uid=14612879451016965057; _ga=GA1.2.38968706.1451287945; 82a902=4; tr_def_lo=country%3B30; _ym_isad=0';
$headers[] = 'Host: grainboard.ru';
$headers[] = 'If-Modified-Since: Wed, 12 Aug 2015 09:02:33 GMT';
$headers[] = 'If-None-Match: "55cb0ba9-3bd5d"';
$headers[] = 'User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0';


curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_exec($ch);
$sent_headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);
curl_close($ch);
echo $sent_headers;
fclose($fp);
?>


У кого какие мысли??

Это сообщение отредактировал Serg86 - 6.01.2016 - 16:21
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3378
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 14 дней
Карма: 170




Цитата (Serg86 @ 6.01.2016 - 14:13)
В общем суть проблемы в том, что по прямой ссылке в браузере изображение открывается, через curl не получается сохранить.

А зачем такие сложности?
Чем не угодил file_get_contents ?


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 26 дней
Карма:




Цитата
А зачем такие сложности?
Чем не угодил file_get_contents ?

То же самое, 403 ошибка.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kostr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 67
Пользователь №: 41917
На форуме: 1 год, 2 месяца, 5 дней
Карма: 3




Задайте CURLOPT_USERAGENT и CURLOPT_RETURNTRANSFER, иногда помогает.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 26 дней
Карма:




Цитата
Задайте CURLOPT_USERAGENT и CURLOPT_RETURNTRANSFER, иногда помогает.

Не помогло
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kostr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 67
Пользователь №: 41917
На форуме: 1 год, 2 месяца, 5 дней
Карма: 3




Скачала вашу картинку вот таким скриптом:

<?php

$url = 'http://grainboard.ru/data/tradeboard/80976/tradeboard15hnlr_img.png/';

$user_agent = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2';
$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$content = curl_exec($ch);
curl_close($ch);

file_put_contents('tradeboard15hnlr_img.png', $content);
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8740
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 8 дней
Карма: 591




Цитата (Serg86 @ 6.01.2016 - 16:13)
Пробывал скопировать заголовки передаваемые браузером, не работает, 403 ошибка и всё тут. Не знаю что и думать уже.

плохо копировал, в заголовке юзерагента потерял двоеточие user posted image
А вообще нельзя вот так тупо копировать заголовки, надо хотя бы немного понимать их назначение. Вот нафига там ?
	$headers[] = 'If-Modified-Since: Wed, 12 Aug 2015 09:02:33 GMT';
$headers[] = 'If-None-Match: "55cb0ba9-3bd5d"';

Браузер их шлёт для валидации собственного кеша, а тебе они там зачем? Чтоб получить 304 Not Modified вместо файла?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 26 дней
Карма:




Цитата
Скачала вашу картинку вот таким скриптом:

Спасибо за помощ, тему можно загрыть.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Serg86  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 104
Пользователь №: 42253
На форуме: 11 месяцев, 26 дней
Карма:




Цитата
плохо копировал, в заголовке юзерагента потерял двоеточие user posted image

Недоглядел
Цитата
А вообще нельзя вот так тупо копировать заголовки, надо хотя бы немного понимать их назначение. Вот нафига там ?

Да пробывал и так и сяк, эт уже от отчаяния скопировал всё что было.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса