Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 11:34
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1c 8.3 HTTPСоединение, метод PUT  (Прочитано 2296 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн assest

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Программист 1С
Итак, есть задача: отправить файл по WebDav'у на Яндекс диск.
Функции скачать, создать папку и удалить файл уже реализованы мной. Пример:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Токен = "МойТокен";
Соединение = новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);

Заголовки = Новый Соответствие;
Заголовки.Вставить("Host","webdav.yandex.ru");
Заголовки.Вставить("Accept","*/*");
Заголовки.Вставить("Authorization", "OAuth "+Токен);

Запрос = Новый HTTPЗапрос("webdav.yandex.ru",Заголовки);

Ответ = Соединение.ВызватьHTTPМетод("GET /Koala.jpg HTTP/1.1",Запрос);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Обработка спокойно получает файл.

НО в методе PUT Необходимо присоединить сам файл, вроде как его надо добавить в тело запроса например так:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ответ= Соединение.ВызватьHTTPМетод("PUT /22/dd.jpg HTTP/1.1
|"+Символы.ПС+Символы.ПС+(Новый ДвоичныеДанные(Путь)), Запрос);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Но если мы начинаем добавлять перенос строки в тело запроса, он либо выдает мне синтаксическую ошибку, либо перестает читать что либо после " HTTP/1.1".
Я пробовал передавать заголовки в теле запроса-не работает(не авторизуется, т.е. не видит заголовка с авторизацией), пробовал передавть что либо с помощью метода
HTTPЗапрос.УстановитьТелоИзСтроки() - Все в том числе и явные ошибки игнорируются.

Дальше всего я продвинулся на коде, где я не присоединяю файл,WebDebager говорит мне что я заявляю файл 17 байт, а отправляю 0, если присоединяю файл, он не проходит аунтификацию
Токен = "МойТокен";
Путь = "C:\Users\alexander\Pictures\1.txt";
Файл = Новый Файл(Путь);
Соединение = новый HTTPСоединение("webdav.yandex.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;    Заголовки.Вставить("Accept","*/*");
Заголовки.Вставить("Host","webdav.yandex.ru");
Заголовки.Вставить("Authorization", "OAuth "+Токен);
Заголовки.Вставить("Etag",   ХЕШMD5 (Путь));
Заголовки.Вставить("Sha256", ХЕШ    (Путь));
Заголовки.Вставить("Content-Type", "application/binary");
Заголовки.Вставить("Expect", "100-continue");
Заголовки.Вставить("Content-Length", СтрЗаменить(Файл.Размер()," ",""));
Запрос = Новый HTTPЗапрос("",Заголовки);    Запрос.УстановитьИмяФайлаТела(Путь);
Ответ= Соединение.ВызватьHTTPМетод("PUT /22/dd.jpg HTTP/1.1", Запрос);

ВОПРОС:
Как мне передать файл в HTTPСоединение, в теле запроса или как то иначе? в чем моя ошибка?.


Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Помог? Нажми - Спасибо :)
skype: Soprov1C


 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 291
Последний ответ 21 Сен 2017, 10:33
от Insider
Метод "ВыбратьЭлемент"

Автор GunnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1761
Последний ответ 24 Ноя 2015, 11:29
от Kironten
(Метод "Свойство" у структуры)

Автор GanG031Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1769
Последний ответ 05 Мар 2016, 13:30
от vitasw
"Свой метод" типа Свернуть

Автор beztrudРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 4391
Последний ответ 17 Окт 2014, 12:44
от beztrud
Проблема "Метод объекта не обнаружен"

Автор aleks159Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2305
Последний ответ 13 Дек 2016, 16:34
от aleks159

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 866
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal