Публикация

подписчиков: 2 Подписаться
0
Avatar

Выгрузка изображений по API

Здравствуйте, подскажите, нет ли каких-либо ограничений по выгрузке (хостинг, страна или еще что-нибудь)

Пробую загрузить картинку, код простой 

$ch = curl_init();
$headers = ['Content-Type: application/json', 'Authorization: Basic ' . base64_encode(MOYSKLAD_LOGIN . ':' . MOYSKLAD_PASSWORD)];

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$image_path = '1.jpg';
$getUrl = 'https://online.moysklad.ru/api/remap/1.1/download/11813926-9bb2-4b91-8dbc-f58cf6a6857a';

$fp = fopen($image_path, 'wb');
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_URL, $getUrl);

$response = curl_exec($ch);

curl_close($ch);

fclose($fp);
var_dump($response);



На одном хостинге выдает:
bool(true)
и успешно загружает картинку, на другом
bool(false) и картинку не грузит. Пробую по другому, код:

$getUrl = 'https://online.moysklad.ru/api/remap/1.1/download/11813926-9bb2-4b91-8dbc-f58cf6a6857a';
$headers = ['Content-Type: application/json', 'Authorization: Basic ' . base64_encode(MOYSKLAD_LOGIN . ':' . MOYSKLAD_PASSWORD)];
$img = curl_init($getUrl);
curl_setopt($img, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($img, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($img, CURLOPT_HTTPHEADER, $headers);
curl_setopt($img, CURLOPT_RETURNTRANSFER, true);
curl_setopt($img, CURLOPT_BINARYTRANSFER, true);
curl_setopt($img, CURLOPT_FOLLOWLOCATION, true);
$output = curl_exec($img);
$info = curl_getinfo($img);
print_r($info);

получаю ссылку и [http_code] => 200 на 1ом хостинге, а на втором

[url] => https://storage.files.mo01.cloud.servers.com:8080/v1/SERVERSCOM_2ce3101fed274bd6b24d2124be063f47/image-prod/image/9394bceb-e90a-11e8-9109-f8fc00003fb3/goodimage/11813926-9bb2-4b91-8dbc-f58cf6a6857a?temp_url_sig=737773e12e8d925a1b960d2815e6370b122f60ca&temp_url_expires=1567497043&filename=26.jpg
[content_type] =>
[http_code] => 302
[header_size] => 517
[request_size] => 207
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 1
[total_time] => 1.231745

Ну и разумеется файл при этом не загружает. Почему так может работать? 

Dmitry Zhuchkov

Войдите в службу, чтобы оставить комментарий.

Комментариев: 2

0
Avatar

На всякий случай, хостинг на котором все работает, это VPS от zomro. Тот где не работает виртуальный hostiq.ua (если использовать код для загрузки любой другой картинки, то все работает без проблем в обоих местах)

Dmitry Zhuchkov 0 проголосовали
Действия с комментариями Постоянная ссылка