1
0
mirror of https://github.com/alei1180/curlone.git synced 2025-11-28 23:19:49 +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Запрос;
Перем ИмяПараметраHTTPОтвет; Перем ИмяПараметраHTTPОтвет;
Перем ИмяПараметраПрокси; Перем ИмяПараметраПрокси;
Перем ИмяПараметраТелоЗапросаСтрока;
Перем ПрочитанныеФайлы; // Массив из Структура Перем ПрочитанныеФайлы; // Массив из Структура
// - ПередаваемыйФайл // - ПередаваемыйФайл
// - ИмяПеременной // - ИмяПеременной
Перем ИспользуетсяЗащищенноеСоединение; // Булево
Перем ИспользуетсяПрокси; // Булево Перем ИспользуетсяПрокси; // Булево
Перем ТелоЗапросаСтрока; // Строка
Перем ЕстьТекстовоеТелоЗапроса; // Булево
Процедура ПриСозданииОбъекта() Процедура ПриСозданииОбъекта()
@@ -24,9 +26,11 @@
ИмяПараметраHTTPЗапрос = "HTTPЗапрос"; ИмяПараметраHTTPЗапрос = "HTTPЗапрос";
ИмяПараметраHTTPОтвет = "HTTPОтвет"; ИмяПараметраHTTPОтвет = "HTTPОтвет";
ИмяПараметраПрокси = "Прокси"; ИмяПараметраПрокси = "Прокси";
ИмяПараметраТелоЗапросаСтрока = "ТелоЗапроса";
ПрочитанныеФайлы = Новый Массив; ПрочитанныеФайлы = Новый Массив;
ИспользуетсяЗащищенноеСоединение = Ложь; ЕстьТекстовоеТелоЗапроса = Ложь;
ТелоЗапросаСтрока = "";
КонецПроцедуры КонецПроцедуры
@@ -36,15 +40,17 @@
Результат = ""; Результат = "";
ВывестиЗаголовки();
ВывестиЧтениеФайлов();
ВывестиИнициализациюТекстовогоТелаЗапроса();
ВывестиЗащищенноеСоединение();
ВывестиИнициализациюПрокси();
Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL); СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
ВывестиЗаголовки();
ВывестиЗащищенноеСоединение(СтруктураURL);
ВывестиПрокси();
ВывестиHTTPСоединение(СтруктураURL); ВывестиHTTPСоединение(Структура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.Сервер));
ПараметрыФункции.Добавить(ПолучитьПорт(СтруктураURL)); ПараметрыФункции.Добавить(ПолучитьПорт(СтруктураURL));
@@ -254,7 +269,6 @@
ПараметрыФункции.Добавить(ИмяПараметраЗаголовки); ПараметрыФункции.Добавить(ИмяПараметраЗаголовки);
КонецЕсли; КонецЕсли;
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон(ИмяПараметраHTTPЗапрос + " = Новый HTTPЗапрос(%1);", ПараметрыФункцииВСтроку(ПараметрыФункции))); ВывестиСтроку(СтрШаблон(ИмяПараметраHTTPЗапрос + " = Новый HTTPЗапрос(%1);", ПараметрыФункцииВСтроку(ПараметрыФункции)));
КонецПроцедуры КонецПроцедуры
@@ -325,7 +339,7 @@
КонецФункции КонецФункции
Процедура ВывестиУстановкуТелаЗапросаТекстовымиДанными() Процедура ВывестиИнициализациюТекстовогоТелаЗапроса()
Если ОписаниеЗапроса.ПередаватьОтправляемыеДанныеВСтрокуЗапроса Тогда Если ОписаниеЗапроса.ПередаватьОтправляемыеДанныеВСтрокуЗапроса Тогда
Возврат; Возврат;
@@ -367,17 +381,31 @@
КонецЦикла; КонецЦикла;
КоличествоЭлементов = ЭлементыТелаЗапросаДляВывода.Количество(); КоличествоЭлементов = ЭлементыТелаЗапросаДляВывода.Количество();
Если КоличествоЭлементов = 1 Тогда Если КоличествоЭлементов = 0 Тогда
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(%2);", Возврат;
ИмяПараметраHTTPЗапрос,
ЭлементыТелаЗапросаДляВывода[0]));
ИначеЕсли КоличествоЭлементов > 1 Тогда
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("ТелоЗапроса = %1;", СтрСоединить(ЭлементыТелаЗапросаДляВывода)));
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(ТелоЗапроса);", ИмяПараметраHTTPЗапрос));
КонецЕсли; КонецЕсли;
ЕстьТекстовоеТелоЗапроса = Истина;
Если КоличествоЭлементов = 1 Тогда
ТелоЗапросаСтрока = ЭлементыТелаЗапросаДляВывода[0];
Иначе
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1 = %2;", ИмяПараметраТелоЗапросаСтрока, СтрСоединить(ЭлементыТелаЗапросаДляВывода)));
КонецЕсли;
КонецПроцедуры
Процедура ВывестиУстановкуТелаЗапросаТекстовымиДанными()
Если Не ЕстьТекстовоеТелоЗапроса Тогда
Возврат;
КонецЕсли;
ВывестиСтроку(СтрШаблон("%1.УстановитьТелоИзСтроки(%2);",
ИмяПараметраHTTPЗапрос,
?(ЗначениеЗаполнено(ТелоЗапросаСтрока), ТелоЗапросаСтрока, ИмяПараметраТелоЗапросаСтрока)));
КонецПроцедуры КонецПроцедуры
Процедура ВывестиУстановкуТелаЗапросаДвоичнымиДанными() Процедура ВывестиУстановкуТелаЗапросаДвоичнымиДанными()
@@ -412,6 +440,7 @@
ПараметрыФункции.Добавить(ИмяПараметраHTTPЗапрос); ПараметрыФункции.Добавить(ИмяПараметраHTTPЗапрос);
ПараметрыФункции.Добавить(ОбернутьКавычками(ИмяВыходногоФайла, Истина)); ПараметрыФункции.Добавить(ОбернутьКавычками(ИмяВыходногоФайла, Истина));
ВывестиПустуюСтроку();
ВывестиСтроку(СтрШаблон("%1 = %2.ВызватьHTTPМетод(%3);", ВывестиСтроку(СтрШаблон("%1 = %2.ВызватьHTTPМетод(%3);",
ИмяПараметраHTTPОтвет, ИмяПараметраHTTPОтвет,
ИмяПараметраHTTPСоединение, ИмяПараметраHTTPСоединение,
@@ -435,6 +464,10 @@
КонецФункции КонецФункции
Функция ИспользуетсяЗащищенноеСоединение(СтруктураURL)
Возврат СтруктураURL.Схема = "https" Или ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента);
КонецФункции
Процедура ВывестиСтроку(Строка) Процедура ВывестиСтроку(Строка)
Результат = Результат + Символы.ПС + Строка; Результат = Результат + Символы.ПС + Строка;
КонецПроцедуры КонецПроцедуры

View File

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

View File

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