<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=IPConnection.HTTPSendAndReceive</id>
	<title>IPConnection.HTTPSendAndReceive - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=IPConnection.HTTPSendAndReceive"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=IPConnection.HTTPSendAndReceive&amp;action=history"/>
	<updated>2026-04-04T10:19:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=IPConnection.HTTPSendAndReceive&amp;diff=1246&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=IPConnection.HTTPSendAndReceive&amp;diff=1246&amp;oldid=prev"/>
		<updated>2021-02-07T06:51:23Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:51, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=IPConnection.HTTPSendAndReceive&amp;diff=1245&amp;oldid=prev</id>
		<title>Admin at 07:27, 24 April 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=IPConnection.HTTPSendAndReceive&amp;diff=1245&amp;oldid=prev"/>
		<updated>2020-04-24T07:27:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=HTTPSendAndReceive&lt;br /&gt;
|object=[[Объект IP]]&lt;br /&gt;
|caption=Работа с HTTP&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в число, разрыв соединения, системная ошибка&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Объект IP]]}}&lt;br /&gt;
Функция выполняет отправку подготовленного пакета (запроса или ответа на запрос), после чего при необходимости, может загрузить ответ удаленной стороны. Если ответ удаленной стороны не должен присутствовать (данный пакет был ответом), либо ответ не содержит поля &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; (к примеру, видео), необходимо вызвать функцию со значением аргумента, равным 0, либо использовать одну из функций [[IPConnection.HTTPReceive|HTTPReceive]].&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|IPConnection.}}'''HTTPSendAndReceive'''({{Optional|&amp;lt;После отправки запроса, ждать и получить ответ (INT)&amp;gt;{{Default|{{Eq}}1}}}}):''&amp;lt;Удачное выполнение (INT)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;После отправки запроса, ждать и получить ответ (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает режим получения ответного пакета после отправки. Если аргумент равен нулю, функция выполняет такие же действия, как и функция [[IPConnection.HTTPSend|HTTPSend]], отсылая подготовленный заголовок и тело HTTP пакета. В ином случае, выполняются последовательно две функции [[IPConnection.HTTPSend|HTTPSend]], затем [[IPConnection.HTTPReceive|HTTPReceive]].&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращает 1, если операция выполнена успешно, иначе возвращает 0.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример показывает, как можно осуществить загрузку веб-страницы по ее адресу.&lt;br /&gt;
//Для загрузки по протоколу https требуется указание пути к библиотекам OpenSSL или LibreSSL.&lt;br /&gt;
&lt;br /&gt;
  Function LoadPage(URL)&lt;br /&gt;
    bHTTPs:=pos(&amp;quot;https://&amp;quot;,Lowercase(URL));&lt;br /&gt;
    If pos(&amp;quot;//&amp;quot;,URL)&amp;gt;0 Then&lt;br /&gt;
      tearStr(URL,&amp;quot;//&amp;quot;);&lt;br /&gt;
    EndIf;&lt;br /&gt;
    СтрДоб:=URL;    &lt;br /&gt;
    URL:=tearStr(СтрДоб,&amp;quot;/&amp;quot;);&lt;br /&gt;
    //URL может содержать название параграфа&lt;br /&gt;
    СтрДоб:=TearStr(СтрДоб,&amp;quot;#&amp;quot;);&lt;br /&gt;
    For i:=1 to 3 Do&lt;br /&gt;
      if bHTTPs Then&lt;br /&gt;
        tcp:=IPConnection.Connect(URL+?(Pos(&amp;quot;:&amp;quot;,URL)+Pos(&amp;quot;=&amp;quot;,URL)=0,&amp;quot;=443&amp;quot;),1);&lt;br /&gt;
      Else&lt;br /&gt;
        tcp:=IPConnection.Connect(URL+?(Pos(&amp;quot;:&amp;quot;,URL)+Pos(&amp;quot;=&amp;quot;,URL)=0,&amp;quot;=80&amp;quot;));&lt;br /&gt;
      EndIf;  &lt;br /&gt;
      if tcp.IsConnected Then&lt;br /&gt;
        Break;&lt;br /&gt;
      EndIf;&lt;br /&gt;
    EndDo;&lt;br /&gt;
    if not tcp.IsConnected Then&lt;br /&gt;
      Message(&amp;quot;Could not connect: &amp;quot;+URL,&amp;quot;!&amp;quot;);&lt;br /&gt;
      Exit;&lt;br /&gt;
    EndIf;&lt;br /&gt;
    СтрДоб:=&amp;quot;/&amp;quot;+СтрДоб;&lt;br /&gt;
    if bHTTPs then&lt;br /&gt;
      //tcp.InitEncryption(&amp;quot;LibreSSL&amp;quot;,&amp;quot;C:\LibreSSL255\libtls-15.dll&amp;quot;);&lt;br /&gt;
      tcp.InitEncryption(&amp;quot;OpenSSL&amp;quot;,&amp;quot;C:\OpenSSL111e\libssl-1_1.dll&amp;quot;);&lt;br /&gt;
    endif;  &lt;br /&gt;
    tcp.HTTPSetOperation(&amp;quot;GET &amp;quot;+СтрДоб+&amp;quot; HTTP/1.0&amp;quot;);&lt;br /&gt;
    tcp.HTTPSetHeaderField(&amp;quot;Host&amp;quot;,tcp.HTTPPunycodeEncode(URL));&lt;br /&gt;
    tcp.HTTPSetHeaderField(&amp;quot;User-Agent&amp;quot;,&amp;quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)&amp;quot;);&lt;br /&gt;
    tcp.HTTPSetHeaderField(&amp;quot;Accept&amp;quot;,&amp;quot;text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&amp;quot;);&lt;br /&gt;
    tcp.HTTPSetHeaderField(&amp;quot;Accept-Language&amp;quot;,&amp;quot;en&amp;quot;);&lt;br /&gt;
    tcp.HTTPSetHeaderField(&amp;quot;Connection&amp;quot;,&amp;quot;Close&amp;quot;);&lt;br /&gt;
    Стр:=&amp;quot;&amp;quot;;&lt;br /&gt;
    Try&lt;br /&gt;
      If tcp.HTTPSendAndReceive Then&lt;br /&gt;
        Стр:=tcp.HTTPBodyAsString;&lt;br /&gt;
        If _And(Pos(_NEWLINE,Стр)=0,Pos(Chr(10),Стр)&amp;gt;0) Then&lt;br /&gt;
          Стр:=Replace(Стр,Chr(10),_NEWLINE);&lt;br /&gt;
        EndIf;&lt;br /&gt;
      EndIf;&lt;br /&gt;
    Except&lt;br /&gt;
      Message(&amp;quot;Could not load: &amp;quot;+URL,&amp;quot;!&amp;quot;);&lt;br /&gt;
    EndTry;  &lt;br /&gt;
    Exit Стр;&lt;br /&gt;
  EndFunction&lt;br /&gt;
&lt;br /&gt;
s:=LoadPage(&amp;quot;https://en.wikipedia.org/wiki/Main_Page&amp;quot;);&lt;br /&gt;
Message(s);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>