1
0
mirror of https://github.com/alei1180/curlone.git synced 2025-11-27 23:18:23 +02:00

feat: Инициализация общих параметров только один раз для всех URL

This commit is contained in:
Dmitry Ivanov
2024-12-29 22:54:40 +03:00
parent d9dc9a1651
commit b80c72fd16
3 changed files with 298 additions and 168 deletions

View File

@@ -9,12 +9,14 @@
Перем ИмяПараметраHTTPЗапрос;
Перем ИмяПараметраHTTPОтвет;
Перем ИмяПараметраПрокси;
Перем ИмяПараметраТелоЗапросаСтрока;
Перем ПрочитанныеФайлы; // Массив из Структура
// - ПередаваемыйФайл
// - ИмяПеременной
Перем ИспользуетсяЗащищенноеСоединение; // Булево
Перем ИспользуетсяПрокси; // Булево
Перем ТелоЗапросаСтрока; // Строка
Перем ЕстьТекстовоеТелоЗапроса; // Булево
Процедура ПриСозданииОбъекта()
@@ -24,9 +26,11 @@
ИмяПараметраHTTPЗапрос = "HTTPЗапрос";
ИмяПараметраHTTPОтвет = "HTTPОтвет";
ИмяПараметраПрокси = "Прокси";
ИмяПараметраТелоЗапросаСтрока = "ТелоЗапроса";
ПрочитанныеФайлы = Новый Массив;
ИспользуетсяЗащищенноеСоединение = Ложь;
ЕстьТекстовоеТелоЗапроса = Ложь;
ТелоЗапросаСтрока = "";
КонецПроцедуры
@@ -36,15 +40,17 @@
Результат = "";
ВывестиЗаголовки();
ВывестиЧтениеФайлов();
ВывестиИнициализациюТекстовогоТелаЗапроса();
ВывестиЗащищенноеСоединение();
ВывестиИнициализациюПрокси();
Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
ВывестиЗаголовки();
ВывестиЗащищенноеСоединение(СтруктураURL);
ВывестиПрокси();
ВывестиHTTPСоединение(СтруктураURL);
ВывестиЧтениеФайлов();
ВывестиHTTPЗапрос(СтруктураURL);
ВывестиУстановкуТелаЗапросаТекстовымиДанными();
ВывестиУстановкуТелаЗапросаДвоичнымиДанными();
@@ -71,10 +77,17 @@
КонецФункции
Процедура ВывестиЗащищенноеСоединение(СтруктураURL)
Процедура ВывестиЗащищенноеСоединение()
ИспользуетсяЗащищенноеСоединение = Ложь;
ИспользуетсяЗащищенноеСоединение = СтруктураURL.Схема = "https"
Или ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента);
Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
ИспользуетсяЗащищенноеСоединение = ИспользуетсяЗащищенноеСоединение(СтруктураURL);
Если ИспользуетсяЗащищенноеСоединение Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Если Не ИспользуетсяЗащищенноеСоединение Тогда
Возврат;
@@ -119,9 +132,9 @@
КонецПроцедуры
Процедура ВывестиПрокси()
Процедура ВывестиИнициализациюПрокси()
ИспользуетсяПрокси = ЗначениеЗаполнено(ОписаниеЗапроса.ПроксиСервер) ;
ИспользуетсяПрокси = ЗначениеЗаполнено(ОписаниеЗапроса.ПроксиСервер);
Если Не ИспользуетсяПрокси Тогда
Возврат;
@@ -156,6 +169,8 @@
Таймаут = ОписаниеЗапроса.Таймаут + ОписаниеЗапроса.ТаймаутСоединения;
КонецЕсли;
ИспользуетсяЗащищенноеСоединение = ИспользуетсяЗащищенноеСоединение(СтруктураURL);
ПараметрыФункции = Новый Массив;
ПараметрыФункции.Добавить(ОбернутьКавычками(СтруктураURL.Сервер));
ПараметрыФункции.Добавить(ПолучитьПорт(СтруктураURL));
@@ -254,7 +269,6 @@
ПараметрыФункции.Добавить(ИмяПараметраЗаголовки);
КонецЕсли;
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон(ИмяПараметраHTTPЗапрос + " = Новый HTTPЗапрос(%1);", ПараметрыФункцииВСтроку(ПараметрыФункции)));
КонецПроцедуры
@@ -325,7 +339,7 @@
КонецФункции
Процедура ВывестиУстановкуТелаЗапросаТекстовымиДанными()
Процедура ВывестиИнициализациюТекстовогоТелаЗапроса()
Если ОписаниеЗапроса.ПередаватьОтправляемыеДанныеВСтрокуЗапроса Тогда
Возврат;
@@ -367,17 +381,31 @@
КонецЦикла;
КоличествоЭлементов = ЭлементыТелаЗапросаДляВывода.Количество();
Если КоличествоЭлементов = 1 Тогда
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(%2);",
ИмяПараметраHTTPЗапрос,
ЭлементыТелаЗапросаДляВывода[0]));
ИначеЕсли КоличествоЭлементов > 1 Тогда
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("ТелоЗапроса = %1;", СтрСоединить(ЭлементыТелаЗапросаДляВывода)));
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(ТелоЗапроса);", ИмяПараметраHTTPЗапрос));
Если КоличествоЭлементов = 0 Тогда
Возврат;
КонецЕсли;
ЕстьТекстовоеТелоЗапроса = Истина;
Если КоличествоЭлементов = 1 Тогда
ТелоЗапросаСтрока = ЭлементыТелаЗапросаДляВывода[0];
Иначе
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1 = %2;", ИмяПараметраТелоЗапросаСтрока, СтрСоединить(ЭлементыТелаЗапросаДляВывода)));
КонецЕсли;
КонецПроцедуры
Процедура ВывестиУстановкуТелаЗапросаТекстовымиДанными()
Если Не ЕстьТекстовоеТелоЗапроса Тогда
Возврат;
КонецЕсли;
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(%2);",
ИмяПараметраHTTPЗапрос,
?(ЗначениеЗаполнено(ТелоЗапросаСтрока), ТелоЗапросаСтрока, ИмяПараметраТелоЗапросаСтрока)));
КонецПроцедуры
Процедура ВывестиУстановкуТелаЗапросаДвоичнымиДанными()
@@ -412,6 +440,7 @@
ПараметрыФункции.Добавить(ИмяПараметраHTTPЗапрос);
ПараметрыФункции.Добавить(ОбернутьКавычками(ИмяВыходногоФайла, Истина));
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1 = %2.ВызватьHTTPМетод(%3);",
ИмяПараметраHTTPОтвет,
ИмяПараметраHTTPСоединение,
@@ -435,6 +464,10 @@
КонецФункции
Функция ИспользуетсяЗащищенноеСоединение(СтруктураURL)
Возврат СтруктураURL.Схема = "https" Или ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента);
КонецФункции
Процедура ВывестиСтроку(Строка)
Результат = Результат + Символы.ПС + Строка;
КонецПроцедуры

View File

@@ -10,9 +10,11 @@
СписокТестов = Новый Массив;
СписокТестов.Добавить("ТестДолжен_ПроверитьЗаголовки");
СписокТестов.Добавить("ТестДолжен_ПроверитьИнициализациюЗаголовковТолькоОдинРаз");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуМетода");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуПользователя");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуТекстовыхДанных");
СписокТестов.Добавить("ТестДолжен_ПроверитьИнициализациюТелаЗапросаТолькоОдинРаз");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуТекстовыхДанныхСКодированием");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуДвоичныхДанныхDataBinary");
СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуДвоичныхДанныхUploadFile");
@@ -25,6 +27,8 @@
СписокТестов.Добавить("ТестДолжен_ПроверитьОбработкуНесколькихКоманд");
СписокТестов.Добавить("ТестДолжен_ПроверитьОтсутствиеИспользованияЗащищенногоСоединения");
СписокТестов.Добавить("ТестДолжен_ПроверитьНаличиеИспользованияЗащищенногоСоединения");
СписокТестов.Добавить("ТестДолжен_ПроверитьИнициализациюЗащищенногоСоединенияТолькоОдинРаз");
СписокТестов.Добавить("ТестДолжен_ПроверитьИспользованиеЗащищенногоСоединенияПриНаличииHTTPSиHTTP");
СписокТестов.Добавить("ТестДолжен_ПроверитьИспользованиеСертификатаКлиентаСПаролем");
СписокТестов.Добавить("ТестДолжен_ПроверитьИспользованиеСертификатаКлиентаБезПароля");
СписокТестов.Добавить("ТестДолжен_ПроверитьИспользованиеСертификатаКлиентаИСертификатыУЦИзОС");
@@ -39,6 +43,7 @@
СписокТестов.Добавить("ТестДолжен_ПроверитьКаталогСохраненияФайловИПереданноеИмяФайла");
СписокТестов.Добавить("ТестДолжен_ПроверитьКаталогСохраненияФайловИИзвлеченноеИмяФайлаИзURL");
СписокТестов.Добавить("ТестДолжен_ПроверитьПрокси");
СписокТестов.Добавить("ТестДолжен_ПроверитьИнициализациюПроксиТолькоОдинРаз");
СписокТестов.Добавить("ТестДолжен_ПроверитьАутентификациюПроксиBasic");
СписокТестов.Добавить("ТестДолжен_ПроверитьАутентификациюПроксиNTLM");
СписокТестов.Добавить("ТестДолжен_ПроверитьВыбрасываниеИсключенияКогдаПроксиПротоколНеПоддерживается");
@@ -59,7 +64,7 @@
Процедура ТестДолжен_ПроверитьЗаголовки() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| -H 'accept: text/html' \
| -H 'accept-language: ru,en-US;q=0.9,en;q=0.8' \
| -H 'user-agent: curl'";
@@ -69,11 +74,34 @@
|Заголовки.Вставить(""accept-language"", ""ru,en-US;q=0.9,en;q=0.8"");
|Заголовки.Вставить(""user-agent"", ""curl"");
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИнициализациюЗаголовковТолькоОдинРаз() Экспорт
КонсольнаяКоманда = "curl example1.com/page1 example2.com/page2 \
| -H 'accept: text/html";
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""accept"", ""text/html"");
|
|Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/page1"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/page2"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -85,13 +113,11 @@
Процедура ТестДолжен_ПроверитьПередачуМетода() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' -X 'POST'";
КонсольнаяКоманда = "curl http://example.com -X POST";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -103,13 +129,11 @@
Процедура ТестДолжен_ПроверитьПередачуПользователя() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' -u user:secret";
КонсольнаяКоманда = "curl http://example.com -u user:secret";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, ""user"", ""secret"", , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80, ""user"", ""secret"");
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -121,7 +145,7 @@
Процедура ТестДолжен_ПроверитьПередачуТекстовыхДанных() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| -d param1=value1 \
| --data-ascii 'парам2=значение2' \
| --data 'param3=value3' \
@@ -132,10 +156,6 @@
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""application/x-www-form-urlencoded"");
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file1"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
@@ -148,13 +168,51 @@
|ТекстовыеДанныеИзФайла_2 = СтрЗаменить(ТекстовыеДанныеИзФайла_2, Символы.ПС, """");
|ТекстовыеДанныеИзФайла_2 = СтрЗаменить(ТекстовыеДанныеИзФайла_2, Символы.ВК, """");
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|ТелоЗапроса = ""param1=value1&парам2=значение2&param3=value3&@at@at@""
| + ""&"" + ТекстовыеДанныеИзФайла_1
| + ""&"" + ТекстовыеДанныеИзФайла_2;
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИнициализациюТелаЗапросаТолькоОдинРаз() Экспорт
КонсольнаяКоманда = "curl http://example1.com http://example2.com \
| -d param=value \
| --data @path-to-file";
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""application/x-www-form-urlencoded"");
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ПС, """");
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ВК, """");
|
|ТелоЗапроса = ""param=value""
| + ""&"" + ТекстовыеДанныеИзФайла_1;
|
|Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -166,20 +224,18 @@
Процедура ТестДолжен_ПроверитьПередачуДвоичныхДанныхDataBinary() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| --data-binary @path-to-file1 \
| --data-binary @path-to-file2";
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""application/x-www-form-urlencoded"");
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьИмяФайлаТела(""path-to-file1"");
|// HTTPЗапрос.УстановитьИмяФайлаТела(""path-to-file2"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -191,14 +247,12 @@
Процедура ТестДолжен_ПроверитьПередачуДвоичныхДанныхUploadFile() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' --upload-file path-to-file";
КонсольнаяКоманда = "curl http://example.com --upload-file path-to-file";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|HTTPЗапрос.УстановитьИмяФайлаТела(""path-to-file"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""PUT"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -210,19 +264,17 @@
Процедура ТестДолжен_ПроверитьНеизменностьПереданногоЗаголовкаContentType() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| -H 'Content-Type: application/octet-stream' \
| --data-binary @path-to-file";
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""application/octet-stream"");
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьИмяФайлаТела(""path-to-file"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -243,8 +295,6 @@
ПрограммныйКод = "Заголовки = Новый Соответствие();
|Заголовки.Вставить(""Content-Type"", ""application/x-www-form-urlencoded"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
@@ -256,13 +306,14 @@
|ТекстовыеДанныеИзФайла_2 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_2 = КодироватьСтроку(ТекстовыеДанныеИзФайла_2, СпособКодированияСтроки.URLВКодировкеURL);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|ТелоЗапроса = ""name=val&encodethis%26""
| + ""&"" + ТекстовыеДанныеИзФайла_1
| + ""&"" + ТекстовыеДанныеИзФайла_2;
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -274,37 +325,29 @@
Процедура ТестДолжен_ПроверитьМножественноеИспользованиеUrl() Экспорт
КонсольнаяКоманда = "curl https://example1.com \
| https://example2.com \
| --url https://example3.com \
| --url https://example4.com";
КонсольнаяКоманда = "curl http://example1.com \
| http://example2.com \
| --url http://example3.com \
| --url http://example4.com";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example1.com"", 443, , , , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example2.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example3.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example3.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example4.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example4.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -316,26 +359,24 @@
Процедура ТестДолжен_ПроверитьПередачуОтправляемыхДанныхВСтрокуЗапроса() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| --get \
| -d 'param1=value' \
| --data 'param2=value2' \
| --data @path-to-file";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
ПрограммныйКод = "ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ПС, """");
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ВК, """");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|АдресРесурса = ""/?param1=value&param2=value2""
| + ""&"" + ТекстовыеДанныеИзФайла_1;
|
|HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -347,24 +388,22 @@
Процедура ТестДолжен_ПроверитьПередачуОтправляемыхДанныхВСтрокуЗапросаИзФайла() Экспорт
КонсольнаяКоманда = "curl 'https://example.com' \
КонсольнаяКоманда = "curl http://example.com \
| --get \
| --data @path-to-file";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
ПрограммныйКод = "ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ПС, """");
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ВК, """");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|АдресРесурса = ""/?""
| + ТекстовыеДанныеИзФайла_1;
|
|HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -376,27 +415,25 @@
Процедура ТестДолжен_ПроверитьВставкуОтправляемыхДанныхВСтрокуЗапроса() Экспорт
КонсольнаяКоманда = "curl 'https://example.com?param3=value3#page-1' \
КонсольнаяКоманда = "curl 'http://example.com?param3=value3#page-1' \
| --get \
| -d 'param1=value' \
| --data 'param2=value2' \
| --data @path-to-file";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
ПрограммныйКод = "ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ПС, """");
|ТекстовыеДанныеИзФайла_1 = СтрЗаменить(ТекстовыеДанныеИзФайла_1, Символы.ВК, """");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|АдресРесурса = ""/?param3=value3&param1=value&param2=value2""
| + ""&"" + ТекстовыеДанныеИзФайла_1
| + ""#page-1"";
|
|HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -409,21 +446,17 @@
Процедура ТестДолжен_ПроверитьHTTPМетодHEAD() Экспорт
КонсольнаяКоманда = "
|curl 'https://example1.com' --head
|curl 'https://example2.com' -X HEAD";
|curl http://example1.com --head
|curl http://example2.com -X HEAD";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example1.com"", 443, , , , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""HEAD"", HTTPЗапрос);
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example2.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""HEAD"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -435,20 +468,16 @@
Процедура ТестДолжен_ПроверитьОбработкуНесколькихКоманд() Экспорт
КонсольнаяКоманда = "curl 'https://example1.com' & curl 'https://example2.com'";
КонсольнаяКоманда = "curl http://example1.com & curl http://example2.com";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example1.com"", 443, , , , , ЗащищенноеСоединение);
|
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example2.com"", 443, , , , , ЗащищенноеСоединение);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -463,8 +492,8 @@
КонсольнаяКоманда = "curl 'http://example.com'";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -481,8 +510,54 @@
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИнициализациюЗащищенногоСоединенияТолькоОдинРаз() Экспорт
КонсольнаяКоманда = "curl https://example1.com https://example2.com";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example1.com"", 443, , , , , ЗащищенноеСоединение);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 443, , , , , ЗащищенноеСоединение);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИспользованиеЗащищенногоСоединенияПриНаличииHTTPSиHTTP() Экспорт
КонсольнаяКоманда = "curl http://example1.com https://example2.com";
ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
|
|Соединение = Новый HTTPСоединение(""example1.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 443, , , , , ЗащищенноеСоединение);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -500,8 +575,8 @@
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(СертификатКлиента);
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -519,8 +594,8 @@
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(СертификатКлиента);
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -539,8 +614,8 @@
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(СертификатКлиента, СертификатыУдостоверяющихЦентров);
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -560,8 +635,8 @@
|ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(СертификатКлиента, СертификатыУдостоверяющихЦентров);
|
|Соединение = Новый HTTPСоединение(""example.com"", 443, , , , , ЗащищенноеСоединение);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -581,9 +656,7 @@
| --url-query '+name=%20foo' \
| --url-query +@not-a-file";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
ПрограммныйКод = "ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = КодироватьСтроку(ТекстовыеДанныеИзФайла_1, СпособКодированияСтроки.URLВКодировкеURL);
@@ -594,11 +667,13 @@
|ТекстовыеДанныеИзФайла_2 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_2 = КодироватьСтроку(ТекстовыеДанныеИзФайла_2, СпособКодированияСтроки.URLВКодировкеURL);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|АдресРесурса = ""/?name=val&encodethis%26&name=%20foo&@not-a-file""
| + ""&"" + ТекстовыеДанныеИзФайла_1
| + ""&"" + ТекстовыеДанныеИзФайла_2;
|
|HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -612,17 +687,17 @@
КонсольнаяКоманда = "curl http://example.com --url-query @fileonly";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
ПрограммныйКод = "ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""fileonly"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|ТекстовыеДанныеИзФайла_1 = КодироватьСтроку(ТекстовыеДанныеИзФайла_1, СпособКодированияСтроки.URLВКодировкеURL);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|АдресРесурса = ""/?""
| + ТекстовыеДанныеИзФайла_1;
|
|HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -637,8 +712,8 @@
КонсольнаяКоманда = "curl http://example.com -o file.html";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""file.html"");";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -655,13 +730,13 @@
| http://example.com/page2.html --output page2.html";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/page1.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""page1.html"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/page2.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""page2.html"");";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -679,18 +754,18 @@
| http://example.com/index.html";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/about.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""about.html"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/catalog/cars.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""cars.html"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/index.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -708,18 +783,18 @@
| http://example.com/index.html";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/about.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""file.html"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/catalog/cars.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""cars.html"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/index.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""index.html"");";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -753,8 +828,8 @@
КонсольнаяКоманда = СтрЗаменить(КонсольнаяКоманда, "/some/path", КаталогСохраненияОС);
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/about.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""/some/path/file.html"");";
ПрограммныйКод = СтрЗаменить(ПрограммныйКод, "/some/path/", КаталогСохраненияОС + ПолучитьРазделительПути());
@@ -773,8 +848,8 @@
КонсольнаяКоманда = СтрЗаменить(КонсольнаяКоманда, "/some/path", КаталогСохраненияОС);
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/about.html"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос, ""/some/path/about.html"");";
ПрограммныйКод = СтрЗаменить(ПрограммныйКод, "/some/path/", КаталогСохраненияОС + ПолучитьРазделительПути());
@@ -793,8 +868,32 @@
|Прокси.Установить(""http"", ""proxy.example"", 1088, , , Ложь);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80, , , Прокси);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИнициализациюПроксиТолькоОдинРаз() Экспорт
КонсольнаяКоманда = "curl http://example1.com http://example2.com --proxy http://proxy.example:1088";
ПрограммныйКод = "Прокси = Новый ИнтернетПрокси();
|Прокси.Установить(""http"", ""proxy.example"", 1088, , , Ложь);
|
|Соединение = Новый HTTPСоединение(""example1.com"", 80, , , Прокси);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);
|
|Соединение = Новый HTTPСоединение(""example2.com"", 80, , , Прокси);
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -814,8 +913,8 @@
|Прокси.Установить(""http"", ""proxy.example"", 1080, ""user"", ""secret"", Ложь);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80, , , Прокси);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -835,8 +934,8 @@
|Прокси.Установить(""http"", ""proxy.example"", 1080);
|
|Соединение = Новый HTTPСоединение(""example.com"", 80, , , Прокси);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -867,8 +966,8 @@
КонсольнаяКоманда = "curl http://example.com/ --max-time 20 --connect-timeout 5.5";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80, , , , 25.5);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -883,8 +982,8 @@
КонсольнаяКоманда = "curl http://example.com/ --max-time 20 --connect-timeout 0";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -902,8 +1001,6 @@
|Заголовки.Вставить(""Content-Type"", ""application/json"");
|Заголовки.Вставить(""Accept"", ""application/json"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file1"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
@@ -912,12 +1009,13 @@
|ТекстовыйДокумент.Прочитать(""path-to-file2"");
|ТекстовыеДанныеИзФайла_2 = ТекстовыйДокумент.ПолучитьТекст();
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|ТелоЗапроса = ТекстовыеДанныеИзФайла_1
| + ТекстовыеДанныеИзФайла_2;
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -936,9 +1034,9 @@
|Заголовки.Вставить(""Accept"", ""application/json"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(""{""""drink"""": """"coffe""""}"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -959,9 +1057,9 @@
|Заголовки.Вставить(""Accept"", ""application/json"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(""{""""drink"""": """"coffe""""}"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -981,18 +1079,17 @@
|Заголовки.Вставить(""Content-Type"", ""application/json"");
|Заголовки.Вставить(""Accept"", ""application/json"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|ТекстовыйДокумент = Новый ТекстовыйДокумент();
|ТекстовыйДокумент.Прочитать(""path-to-file"");
|ТекстовыеДанныеИзФайла_1 = ТекстовыйДокумент.ПолучитьТекст();
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|ТелоЗапроса = ""{""""drink"""": """"coffe"""", """"size"""": ""
| + ТекстовыеДанныеИзФайла_1;
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""POST"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -1010,8 +1107,8 @@
|Заголовки.Вставить(""User-Agent"", ""Agent 007"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -1029,8 +1126,8 @@
|Заголовки.Вставить(""User-Agent"", """");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -1045,8 +1142,8 @@
КонсольнаяКоманда = "curl http://example.com/ -A ''";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
@@ -1064,8 +1161,8 @@
|Заголовки.Вставить(""User-Agent"", ""Agent 007"");
|
|Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"", Заголовки);
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();

View File

@@ -73,8 +73,8 @@
КонсольнаяКоманда = "curl http://example.com/ --hsts cache.txt";
ПрограммныйКод = "Соединение = Новый HTTPСоединение(""example.com"", 80);
|
|HTTPЗапрос = Новый HTTPЗапрос(""/"");
|
|HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);";
Ошибки = Неопределено;