<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3878391</guid>
        <pubDate>Mon, 10 Oct 2022 07:24:52 +0000</pubDate>
        <title>PROPPATCH протокола WebDAV – как настроить параметры?</title>
        <link>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3878391</link>
        <description><![CDATA[Fr0sT: 2 - приблуда xml, не заморачивайся<br>5 - консоль веб-разработчика, вкладка Network]]></description>
        <author>Fr0sT</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3877558</guid>
        <pubDate>Sat, 01 Oct 2022 09:33:01 +0000</pubDate>
        <title>PROPPATCH протокола WebDAV – как настроить параметры?</title>
        <link>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3877558</link>
        <description><![CDATA[мыш: Разобрался сам. Ответы:<br>1. xml<br>2. вопрос актуален<br>3. В теле<br>4. Нужно в тело добавить код, приведенный в яндекс-примере<br>5. вопрос актуален<br>6. Спецификации протоколов hhtp и webDav]]></description>
        <author>мыш</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3877523</guid>
        <pubDate>Fri, 30 Sep 2022 20:24:44 +0000</pubDate>
        <title>PROPPATCH протокола WebDAV – как настроить параметры?</title>
        <link>https://forum.sources.ru/index.php?showtopic=430108&amp;view=findpost&amp;p=3877523</link>
        <description><![CDATA[мыш: Друзья. Нигде не могу найти хоть какой-нибудь информации о методе PROPPATCH. Подскажите как правильно передать требуемые параметры? Список конкретных вопросов в конце.<br>
<br>
<strong class='tag-b'>ЗАДАЧА:</strong><br>
Получить в ответ от сервера <a class='tag-url' href='https://webdav.yandex.ru/' target='_blank'>https://webdav.yandex.ru/</a> публичную ссылку на файл, хранящийся на яндекс-диске. <br>
<br>
<strong class='tag-b'>БИБЛИОТЕКА: </strong><br>
Synaps<br>
<br>
<strong class='tag-b'>УДАЛОСЬ СДЕЛАТЬ: </strong><br>
Реализовать метод MKCOL. Успешно создаются папки.<br>
<br>
Код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Var</div><div class="code_line">&nbsp;&nbsp;HTTP : THTTPSend; // class(TSynaClient) модуля unit httpsend;</div><div class="code_line">&nbsp;&nbsp;CatName: string;</div><div class="code_line">with HTTP do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Headers.Clear; // очищаем заголовки, если ранее были заполнены другим запросом</div><div class="code_line">&nbsp;&nbsp; &nbsp;Headers.Add(&#39;Authorization: Basic &#39; + FToken); // FToken – зашифрованные пароль и логин, </div><div class="code_line">&nbsp;&nbsp; &nbsp;Headers.Add(&#39;Accept: */*&#39;); // хрен знает что такое</div><div class="code_line">&nbsp;&nbsp; &nbsp;CatName := ‘Тестовый каталог’;</div><div class="code_line">&nbsp;&nbsp; &nbsp;URL := ‘https://webdav.yandex.ru/’+ CatName; </div><div class="code_line">&nbsp;&nbsp; &nbsp;if HTTPMethod(&#39;MKCOL&#39;, URL) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;showmessage(‘Каталог создан’);</div><div class="code_line">End;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<strong class='tag-b'>ОПИСАНИЕ МЕТОДА ОТ ЯНДЕКС</strong><br>
<a class='tag-url' href='https://yandex.ru/dev/disk/doc/dg/reference/publish.html' target='_blank'>https://yandex.ru/dev/disk/doc/dg/reference/publish.html</a><br>
<br>
<span class='tag-u'>Публикация файлов и папок</span><br>
Файлы и папки, загруженные на Яндекс.Диск, можно опубликовать: сгенерировать ссылку, по которой они будут доступны не только владельцу Диска.<br>
Опубликованным файлам и папкам можно вернуть статус личных — сгенерированные публичные ссылки перестанут работать.<br>
Признак публичности устанавливается и редактируется с помощью метода PROPPATCH. Чтобы опубликовать файл или папку, свойству public_url в пространстве имен urn:yandex:disk:meta следует присвоить любое непустое значение.<br>
<br>
<span class='tag-u'>Пример публикации папки</span><br>
Публикуется папка /public_folder/, расположенная в корневом каталоге Диска пользователя.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">PROPPATCH /public_folder/ HTTP/1.1</div><div class="code_line">User-Agent: my_application/0.0.1</div><div class="code_line">Host: webdav.yandex.ru</div><div class="code_line">Authorization: OAuth 0c4182a7c2cf4521964a72ff57a34a07</div><div class="code_line">Content-Length: 158</div><div class="code_line">&nbsp;</div><div class="code_line">&#60;propertyupdate xmlns=&quot;DAV:&quot;&#62;</div><div class="code_line">&nbsp;&nbsp;&#60;set&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;prop&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;&#60;public_url xmlns=&quot;urn:yandex:disk:meta&quot;&#62;true&#60;/public_url&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/prop&#62;</div><div class="code_line">&nbsp;&nbsp;&#60;/set&#62;</div><div class="code_line">&#60;/propertyupdate&#62;</div></ol></div></div></div></div><br>
<br>
<strong class='tag-b'>ЧТО Я ХОЧУ ВООБЩЕ:</strong><br>
Написать клиента для яндекс-диска. В описаниях яндекса все что нужно есть, но мне нужно научится «переводить» требования описанные в описании яндекс API на язык дельфи.<br>
<br>
<strong class='tag-b'>ВОПРОСЫ</strong><ol class="tag-list" type="1"><li>На каком языке написан пример яндекса?</li><li>Что такое пространство имен urn:yandex:disk:meta ?</li><li>Изменения в пространстве имен нужно декларировать в заголовках класса или в теле запроса (в ссылке)? </li><li>Как конкретно задать этому пространству имен значение? Пример строки в URL или в параметре класса.</li><li>Как посмотреть что отсылает браузер серверу при нажитии на кнопку «получить ссылку на файл»? (подозреваю что анализ запросов – единственный способ изучения темы в отсутствие примеров.</li><li>Что почитать на эту тему чтобы досконально разобраться в этом? Я раньше никогда не программировал для вэб, но хочу научиться.</li></ol>]]></description>
        <author>мыш</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	