Приветствую, пытаюсь загрузить файл (zip) на облако mail,
прочитав статью , начал писать код.
Авторизация, получение токена прошло успешно, осталось главное, загрузить файл, посмотрел какие запросы отправляет сайт:
Первый запрос OPTIONS идет сюда, но ответа от него нет
https://cloclo19-upload.cloud.mail.ru/upload/?cloud_domain=2&x-email=(Логин)%40mail.ru&fileapi14750746778546
После чего выполняется вторая команда на тот же адрес, но уже POST и с каким то Request Payload (Content-Disposition: form-data; name="file"; filename="localhost.rar"
), который уже возвращает хеш:
https://cloclo19-upload.cloud.mail.ru/upload/?cloud_domain=2&x-email=(Логин)%40mail.ru&fileapi14750746778546
И уже третий запрос, запрос к api:
https://cloud.mail.ru/api/v2/file/add
Тут уже передается сам файл хеш для загрузки.
Это все понятно, пора было писать код, но на первом же этапе все остановилось:
$file = [
'name' => 'book.zip',
'path' => 'book.zip',
'size' => filesize('book.zip')
];
curl_setopt($this->curl, CURLOPT_URL, 'https://cloclo19-upload.cloud.mail.ru/upload/?cloud_domain=2&x-email=(Логин)%40mail.ru&fileapi14750746778546');
curl_setopt($this->curl, CURLOPT_HEADER, true);
curl_setopt($this->curl, CURLOPT_POST, true);
curl_setopt($this->curl, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data"));
curl_setopt($this->curl, CURLOPT_POSTFIELDS, array("filedata" => "@" . $file['path'], "filename" => $file['name']));
curl_setopt($this->curl, CURLOPT_INFILESIZE, $file['size']);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($this->curl);
возвращает
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Server: Tengine/2.0.0
Date: Wed, 28 Sep 2016 15:03:03 GMT
Content-Type: text/plain
Content-Length: 0
Connection: keep-alive
Keep-Alive: timeout=20
Strict-Transport-Security: max-age=31556926; includeSubDomains
X-XSS-Protection: 1; mode=block; report=https://cspreport.mail.ru/xxssprotection
X-Content-Type-Options: nosniff
X-Host: cloclo19.i.mail.ru
Прошу помочь