- Регистрация
- 19.01.2020
- Сообщения
- 2
- Благодарностей
- 1
- Баллы
- 3
Прошу сильно не пинать, я только учусь...
Это мой первый шаблон на POST/GET запросах.
Итак, поставил для себя задачу сделать шаблон для загрузки файлов на Облако Mail.Ru
и уже чувствую, что без посторонней помощи мне не обойтись)))
Вообщем дошел до этапа, когда в созданную папку на облаке нужно залить файл (пытаюсь залить PDF файл)
Сниффингом выяснил, что заливка файла происходит следующим образом:
1. Сначала отправляется содержимое PDF файла PUT-запросом на сервер mail.ru для получения хэш-суммы
2. Затем отправляется POST-запрос с полученным хэшем и размером содержимого файла
И после этого в папке облака создается PDF файл
Собственно моя проблема находится в PUT-запросе и скорее всего в получениии содержимого PDF файла
А вот что происходит в сниффере:
Ребят, подскажите пожалуйста, где я накосячил?
Это мой первый шаблон на POST/GET запросах.
Итак, поставил для себя задачу сделать шаблон для загрузки файлов на Облако Mail.Ru
и уже чувствую, что без посторонней помощи мне не обойтись)))
Вообщем дошел до этапа, когда в созданную папку на облаке нужно залить файл (пытаюсь залить PDF файл)
Сниффингом выяснил, что заливка файла происходит следующим образом:
1. Сначала отправляется содержимое PDF файла PUT-запросом на сервер mail.ru для получения хэш-суммы
2. Затем отправляется POST-запрос с полученным хэшем и размером содержимого файла
И после этого в папке облака создается PDF файл
Собственно моя проблема находится в PUT-запросе и скорее всего в получениии содержимого PDF файла
C#:
byte[] pdfByte = System.IO.File.ReadAllBytes(project.Variables["PATH_PDF"].Value); // Получаю
string data = Encoding.Default.GetString(pdfByte); //содержимое PDF файла
project.Variables["Length"].Value = Convert.ToString(data.Length);// размер содержимого
var response = ZennoPoster.HTTP.Request(
ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.PUT, // тип запроса
"https://cld-upload6.cloud.mail.ru/upload-web/?cloud_domain=2&x-email="+project.Variables["Login_decode"].Value, // адрес
data, // контент запроса
"application/pdf", // тип контента
"", // тут можно прокси прописать
"", // кодировка
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, // что получать в ответ
30000, // таймаут
project.Variables["e_all_cookie"].Value, // куки
project.Profile.UserAgent, // юзерагент
true, //разрешить редиректы
5, //количество редиректов
new[] {
"Connection: keep-alive",
"Origin: https://cloud.mail.ru",
"X-Requested-With: XMLHttpRequest",
"Accept: */*",
"Referer: https://cloud.mail.ru/home/"+project.Variables["BUILD_DIR"].Value+@"/",
"Accept-Language: "+project.Profile.AcceptLanguage,
"Accept-Encoding: "+project.Profile.AcceptEncoding
//"Content-Length: "+project.Variables["Length"].Value // по идеи размер должен подсчитаться автоматически из полученного содержимого PDF файла
} // дополнительные заголовки
);
return response;
Ребят, подскажите пожалуйста, где я накосячил?