<?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=413886&amp;view=findpost&amp;p=3785714</guid>
        <pubDate>Mon, 17 Dec 2018 07:25:09 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785714</link>
        <description><![CDATA[Fr0sT: Молодец&#33; Продираясь через тернии, самостоятельно открыл то, что я давно посоветовал в #3. Что ж, личный опыт всегда лучше усваивается, чем советы]]></description>
        <author>Fr0sT</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785633</guid>
        <pubDate>Sat, 15 Dec 2018 08:43:16 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785633</link>
        <description><![CDATA[dreyqq: Победил<br>
Кому нужно через IDHTTP отправлять запрос и принимать его с помощью IDHTTPserver и при этом использовать русский<br>
IDHTTP перед отправкой запроса<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">IDHTTP.Request.ContentType := &#39;application/x-www-form-urlencoded&#39;;</div><div class="code_line">IDHTTP.Request.Charset := &#39;utf-8&#39;;</div><div class="code_line">...</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
IDHTTPserver перед отправкой ответа<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">AResponseInfo.ContentType:=&#39;application/x-www-form-urlencoded&#39;;</div><div class="code_line">AResponseInfo.CharSet:=&#39;utf-8&#39;;</div><div class="code_line">...</div></ol></div></div></div></div><br>
<br>
Только так нормально отправляет русский запрос и ответ]]></description>
        <author>dreyqq</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785614</guid>
        <pubDate>Fri, 14 Dec 2018 21:11:31 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785614</link>
        <description><![CDATA[dreyqq: С отправкой на сервер проблему решил, сервер теперь принимает русские символы<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">IDHTTP.Request.ContentType := &#39;application/x-www-form-urlencoded&#39;;</div><div class="code_line">IDHTTP.Request.Charset := &#39;utf-8&#39;;</div><div class="code_line">... далее отправляю запрос</div></ol></div></div></div></div><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">AResponseInfo.ContentType := &#39;text/html; charset=windows-1251&#39;; // для русских ответов</div></ol></div></div></div></div><br>
и клиент нормально принимал русский, то сейчас сервер принимает всё нормально, а вот клиент принимает <strong class='tag-b'>?????</strong> вместо<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">AResponseInfo.ContentText :=&#39;ответ&#39;;</div></ol></div></div></div></div><br>
Как это решить?]]></description>
        <author>dreyqq</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785606</guid>
        <pubDate>Fri, 14 Dec 2018 18:55:30 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785606</link>
        <description><![CDATA[dreyqq: Отправляю<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">zap:tstringlist;</div><div class="code_line">...</div><div class="code_line">begin &nbsp;</div><div class="code_line">zap.Add(&#39;p1=параметр&#39;);</div><div class="code_line">IDHTTP1.Post(adr, zap);</div><div class="code_line">...</div></ol></div></div></div></div><br>
смотрю HTTP analizer V7<br>
Там видно P1 и значение параметр<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">procedure TForm1.IDHTTPserverCommandGet(AContext: TIdContext;</div><div class="code_line">&nbsp;&nbsp;ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);</div><div class="code_line">begin</div><div class="code_line">ARequestInfo.ContentEncoding:=&#39;text/html; charset=windows-1251&#39;; // это чтобы на руссок отвечало. Работает</div><div class="code_line">memo1.Text:=ARequestInfo.Params.Text;</div></ol></div></div></div></div><br>
<br>
... и полученый текст в мемо... p1=Ð¿Ð°ÑÐ°Ð¼ÐµÑÑ<br>
Как ЭТО победить?]]></description>
        <author>dreyqq</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785520</guid>
        <pubDate>Fri, 14 Dec 2018 09:19:32 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785520</link>
        <description><![CDATA[Mr.Delphist: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413886&view=findpost&p=3785510'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Fr0sT &#064; <time class="tag-quote__quoted-time" datetime="2018-12-14T07:46:19+00:00">14.12.18, 07:46</time></span><div class='quote '>Более того, значение атрибута encoding документа xml не означает, что сам документ в этой кодировке.</div></div><br>
Вот как раз это бывает, если собирать контент руками. Тогда парсеры XML спотыкаются.]]></description>
        <author>Mr.Delphist</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785510</guid>
        <pubDate>Fri, 14 Dec 2018 07:46:19 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785510</link>
        <description><![CDATA[Fr0sT: Для начала я бы порекомендовал применять utf8, национальные кодировки отмирают.<br>Во-вторых, content-type в заголовке http ответа и кодировка xml - это две абсолютно разные и совершенно независимые штуки. Более того, значение атрибута encoding документа xml не означает, что сам документ в этой кодировке. Поэтому сниффер в руки и смотреть, что отправляется и получается]]></description>
        <author>Fr0sT</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785485</guid>
        <pubDate>Thu, 13 Dec 2018 20:58:38 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785485</link>
        <description><![CDATA[Mr.Delphist: Самое главное: не надо собирать XML вручную - только через TXMLDocument или его аналог.<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 xml: string;</div><div class="code_line">…</div><div class="code_line">xml = &#39;&#60;?xml version=&quot;1.0&quot; encoding=&quot;windows-1251&quot;?&#62;&#39; // руками указали processing instruction</div><div class="code_line">&nbsp;&nbsp; &nbsp;+ &#39;&#60;tag-content&#62;Тут русский текст&#60;/tag-content&#62;&#39;; // руками напихали контент, безотносительно processing instruction</div></ol></div></div></div></div><br>
<br>
Дело в том, что XML - это не текст. Это байтовый поток, который для большинства случаев <strong class='tag-b'>выглядит как текст</strong>. Но чуть шаг в сторону - надо руками энкодить в правильный байтовый формат или же использовать готовые энкодеры, как TXMLDocument (который, в свою очередь, лишь обёртка вокруг системного компонента MS XML).<br>
<br>
Вот ещё на эту тему:<br>
<a class='tag-url' href='http://okitgo.ru/xml/kodirovka-xml.html' target='_blank'>http://okitgo.ru/xml/kodirovka-xml.html</a>]]></description>
        <author>Mr.Delphist</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785383</guid>
        <pubDate>Thu, 13 Dec 2018 07:57:56 +0000</pubDate>
        <title>Пример http клиент-сервера с поддержкой кирилицы</title>
        <link>https://forum.sources.ru/index.php?showtopic=413886&amp;view=findpost&amp;p=3785383</link>
        <description><![CDATA[dreyqq: Пришел момент перевода своего приложения с локального на клиент-сервер<br>
В чём нужна подсказка:<br>
Нужно на http обмениваться инфой между клиентом и сервером, желательно с использованием XML, так как его проще обрабатывать и через него я могу передать то количество параметров что мне нужно. Всё ничего, но возникла проблема с кирилицей... Ответ сервера в кирилице я нашел как сделать:<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">procedure TForm1.hts1CommandGet(AContext: TIdContext;</div><div class="code_line">&nbsp;&nbsp;ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;AResponseInfo.ContentType := &#39;text/html; charset=windows-1251&#39;; // для русских ответов</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">end;</div></ol></div></div></div></div><br>
и сервер клиенту отвечает правильно, но принять кирилицу не выходит...<br>
<br>
<strong class='tag-b'>1) Как правильно отправить с помощью POST кирилицу, чтобы сервер её принял?<br>
2) Там ли я на сервере пытаюсь обработать POST запрос?</strong> <br>
<br>
delphi RAD Studio 10.2<br>
IDHTTP - клиент<br>
IDHTTPServer - сервер]]></description>
        <author>dreyqq</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	