YII2: получение параметров POST, GET и AGRV

Ну собственно движек при запуске затирает переменные $_POST, $_GET и $agrv, в целях безопасности, а потому получить их можно примерно так:

$argv = Yii::$app->request->params;

$request = Yii::$app->request;
$period=$request->post("period");                    
$period2=$request->get("period");                    

1С: POST запросы

POST запрос к какому то ресурсу в 1С можно организовать например примерно так:

&НаСервере
Функция СтруктураВСтрокуJSON(Данные)экспорт
	
		ЗаписьJSON = Новый ЗаписьJSON();
		ЗаписьJSON.УстановитьСтроку();
		ЗаписатьJSON(ЗаписьJSON, Данные);
		ответ=ЗаписьJSON.Закрыть();
		// заменим -999999999 на null раз уж 1С это не умеет
		ответ=стрЗаменить(ответ,"-999999999","null");
		возврат ответ;
	
КонецФункции
&НаСервере
Функция API_SendSMS(УРЛ,Логин,Пароль,Отправитель,Телефон,ТекстСмс,ВремяЖизни=360)экспорт
	Соединение=ПолучитьПараметрыСоединения(УРЛ,Логин,Пароль);
	answer=API_getSessionID(Соединение,Логин,Пароль);
	если answer.error=true тогда возврат answer;конецесли;	
	
	ПОСТ_Структура=Новый Структура("sessionId,sourceAddress,data,destinationAddress,validity");
	ПОСТ_Структура.sessionId=answer.result; 		 //идсессии,
	ПОСТ_Структура.sourceAddress=Отправитель;  		 //имяотправителя
	ПОСТ_Структура.destinationAddress=Телефон;		 //получатель(номер)
	ПОСТ_Структура.data=ТекстСмс;	 				 //текст сообщения
	ПОСТ_Структура.validity=ВремяЖизни; 			 //время жизни в минутах

	Заголовки = Новый Соответствие;
	Заголовки["Content-Type"] = "application/json";	
	Заголовки.Вставить("Connection", "keep-alive");	
	Заголовки.Вставить("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)");

	HTTPЗапрос = Новый HTTPЗапрос("/rest/Sms/Send",Заголовки);
	HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураВСтрокуJSON(ПОСТ_Структура), КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	
	Результат = Соединение.ВызватьHTTPМетод("POST",HTTPЗапрос);
	РезЗапроса=JSONВСтруктуру(Результат.ПолучитьТелоКакСтроку());
	если ТипЗнч(РезЗапроса)=Тип("Строка") тогда
		answer.error=true;
		answer.result=РезЗапроса;
		возврат answer;
	конецесли;	
	если ТипЗнч(РезЗапроса)=Тип("Структура") тогда
		answer.error=true;
		answer.result=РезЗапроса.Desc;
		возврат answer;		
	конецесли;	
	answer.error=false;
	answer.result=РезЗапроса[0];
	возврат answer;
	
КонецФункции

Javascript: Открыть страницу на новой вкладке, передав на неё данные через POST

Есть несколько вариантов решения данной задачи Самым простым из них является размещение на странице скрытой формы, заполнение её данными в нужный момент, и принудительный submit. Например как-то так:

<form id="my_form" method="post" action="?view=new_page" target="Новое окно">
	<input type="hidden" id="my_var" name="my_var" value="" />
</form>

<script type="text/javascript">
	my_var="Мои данные в POST";
	window.open('', 'Новое окно');
	document.getElementById('my_form').submit();
</script>

Node.js: POST запрос с авторизацией по HTTP

Задача: передать данные через POST на ресурс по протоколу https с авторизацией.

Решение:

const https = require('https');
function SendJson2Https(data){
    const options = {
      hostname: 'vqrcfwervcwe1',
      port: 443,
      path: '/owprfhwoeir/command',
      method: 'POST',
      rejectUnauthorized: false,
      strictSSL: false,
      headers: {
        "Authorization":"Basic " + new Buffer.from('Admin' + ":" + 'qrwecvwervwe').toString('base64'),          
        'Content-Type': 'application/json',
        'Content-Length': data.length
      }
    }
    const req = https.request(options, (res) => {
      console.log(statusCode: ${res.statusCode})
      res.on('data', (d) => {
        process.stdout.write(d)
      })
    })
    req.on('error', (error) => {
      console.error(error)
    })
    req.write(data)
    req.end()    
};

Вывод в лог файл любых входящих данных скрипта на PHP

Бывает полезно перехватить, что же сыплется на входе в PHP скрипт, если у тебя нет информации об этом. Сделать это можно например так:




1 2