<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[My Visual Database — Как послать запрос к HTTP серверу и получить ответ?]]></title>
		<link>https://myvisualdatabase.com/forum/viewtopic.php?id=6311</link>
		<atom:link href="https://myvisualdatabase.com/forum/extern.php?action=feed&amp;tid=6311&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Как послать запрос к HTTP серверу и получить ответ?.]]></description>
		<lastBuildDate>Tue, 26 May 2020 22:18:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Как послать запрос к HTTP серверу и получить ответ?]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=36378#p36378</link>
			<description><![CDATA[<div class="quotebox"><cite>mikhail_a wrote:</cite><blockquote><p>Стоит задача закинуть базу MySQL на хостинг, чтобы к ней сотрудники имели доступ и из дома.</p></blockquote></div><p>А ssh-туннель на putty не..? Одна строчка в параметре запуска и база у всех по адресу 127.0.0.1:3306...<br />И не надо никах whm-ов cPanel-ных с мудреными проверками...</p>]]></description>
			<author><![CDATA[null@example.com (vovka3003)]]></author>
			<pubDate>Tue, 26 May 2020 22:18:58 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=36378#p36378</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как послать запрос к HTTP серверу и получить ответ?]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=36374#p36374</link>
			<description><![CDATA[<p>Спасибо огромное, vovka3003!<br />Ваш скрипт рабочий!<br />Стоит задача закинуть базу MySQL на хостинг, чтобы к ней сотрудники имели доступ и из дома.<br />У хостинга есть панель управления CPanel.<br />В ней надо указывать IP адреса удаленных подключений к БД.<br />Но, народ подключается с динамических IP, поэтому приходилось сначала определять IP клиента, потом через браузер логиниться в CPanel, ручками указывать IP удаленного клиента и только потом работать с приложением.<br />Теперь все проще!<br />Создал API токен в CPanel (позволяет выполнять функции в Cpanel без пароля).<br />Скриптом авторизуемся в Cpanel:<br />whr.SetRequestHeader(&#039;Authorization&#039;,Format(&#039;cpanel %s:%s&#039;,[user,token]))<br />и выполняем добавление удаленного хоста:<br /></p><div class="codebox"><pre><code>url = &#039;https://mysite.ru:2083/execute/Mysql/add_host?host=124.124.124.124&#039;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (mikhail_a)]]></author>
			<pubDate>Tue, 26 May 2020 18:39:37 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=36374#p36374</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как послать запрос к HTTP серверу и получить ответ?]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=36359#p36359</link>
			<description><![CDATA[<div class="quotebox"><cite>mikhail_a wrote:</cite><blockquote><p>Каким образом реализовать в MVD следующий php код?</p><p>&nbsp; &nbsp; $curl = curl_init();<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);</p><p>&nbsp; &nbsp; $header[0] = &quot;Authorization: whm $user:$token&quot;;<br />&nbsp; &nbsp; curl_setopt($curl,CURLOPT_HTTPHEADER,$header);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_URL, $query);</p><p>&nbsp; &nbsp; $result = curl_exec($curl);</p><p>&nbsp; &nbsp; $http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);</p></blockquote></div><div class="codebox"><pre><code>const url = &#039;https://your-site.hz&#039;;  
      user = &#039;юзернейм&#039;;
      token = &#039;токен&#039;;


var whr : Variant;


procedure HTTPRequest(Sender:TObject);
begin
 TdbButton(Sender).Enabled := false; 
try
    try

        // Эквивалент $curl = curl_init();
        whr := CreateOleObject(&#039;WinHttp.WinHttpRequest.5.1&#039;);

        // Эквивалент curl_setopt($curl, CURLOPT_URL, $query);
        whr.open(&#039;GET&#039;, url, true);

        // Эквивалент CURLOPT_SSL_VERIFYPEER и curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
        whr.Option(4) := 13056;

        // CURLOPT_RETURNTRANSFER - не требуется

        // Эквивалент $header[0] = &quot;Authorization: whm $user:$token&quot;;
        whr.SetRequestHeader(&#039;Authorization&#039;,Format(&#039;whm %s:%s&#039;,[user,token]));

        // Эквивалент curl_exec($curl);
        whr.Send();

        whr.WaitForResponse(5);  // таймаут ожидания ответа в секундах

        //  Эквивалент curl_getinfo($curl, CURLINFO_HTTP_CODE);
        ShowMessage(whr.Status)

    except
      // ShowMessage(ExceptionMessage);  // раскомментить для просмотра ошибок
    end;
finally
   TdbButton(Sender).Enabled := true; 
    whr := 0;
end;
end;


procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    HTTPRequest(Sender);
end;

begin        

end.</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (vovka3003)]]></author>
			<pubDate>Mon, 25 May 2020 18:03:09 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=36359#p36359</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как послать запрос к HTTP серверу и получить ответ?]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=36356#p36356</link>
			<description><![CDATA[<p>здесь примеры<br /><a href="http://myvisualdatabase.com/forum/viewtopic.php?id=5433">http://myvisualdatabase.com/forum/viewtopic.php?id=5433</a></p>]]></description>
			<author><![CDATA[null@example.com (sibprogsistem)]]></author>
			<pubDate>Mon, 25 May 2020 15:41:04 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=36356#p36356</guid>
		</item>
		<item>
			<title><![CDATA[Как послать запрос к HTTP серверу и получить ответ?]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=36354#p36354</link>
			<description><![CDATA[<p>Каким образом реализовать в MVD следующий php код?</p><p>&nbsp; &nbsp; $curl = curl_init();<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);</p><p>&nbsp; &nbsp; $header[0] = &quot;Authorization: whm $user:$token&quot;;<br />&nbsp; &nbsp; curl_setopt($curl,CURLOPT_HTTPHEADER,$header);<br />&nbsp; &nbsp; curl_setopt($curl, CURLOPT_URL, $query);</p><p>&nbsp; &nbsp; $result = curl_exec($curl);</p><p>&nbsp; &nbsp; $http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);</p>]]></description>
			<author><![CDATA[null@example.com (mikhail_a)]]></author>
			<pubDate>Mon, 25 May 2020 15:24:41 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=36354#p36354</guid>
		</item>
	</channel>
</rss>
