ddMakeHttpRequest

Snippet Скачать82 скачивания

Описание

Отправляет HTTP запрос к заданному URL.

Список изменений

  • Параметр «post» переименован в «postData». Старое имя поддерживается, но не рекомендуется к использованию.
  • В параметре «headers» изменилась получаемая строка с «separated string» на «query string». Старый формат поддерживается, но не рекомендуется к использованию.
  • В параметре «postData» изменилась получаемая строка с «separated string» на «query string». Старый формат поддерживается, но не рекомендуется к использованию.
  • Изменена обработка параметра «postData»:
    • Строка в старом формате приводится к ассоциативному массиву.
    • Ассоциативный массив превращается в query string.
    • Любые другие строки передаются CURL без обработки.

Документация

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
url* Адрес, к которому обращаться. {string}
postData Данные, которые нужно отправить (en.wikipedia.org/wiki/Query_string). E. g. "pladeholder1=value1&pagetitle=My awesome pagetitle!". {query string|associative array|string}
method Тип запроса. {'get'|'post'} 'get'
headers Заголовки, которые нужно отправить. E. g. "0=Accept: application/vnd.api+json&1=Content-Type: application/vnd.api+json". {query string|array}
userAgent Значение HTTP заголовка 'User-Agent: '. {string}
timeout Максимальное время выполнения запроса в секундах. {integer} 60

Примеры

Простой GET-запрос

[[ddMakeHttpRequest? &url=`http://www.example.com?name=John&surname=Doe`]]

Простой POST-запрос

[[ddMakeHttpRequest?
	&url=`http://www.example.com/`
	&method=`post`
	&postData=`name=Ivan&surname=Petrov`
	&headers=`0=Accept: application/vnd.api+json&1=Content-Type: application/vnd.api+json`
	&userAgent=`Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0`
	&timeout=`10`
]]

MODX API

$requestResult = $modx->runSnippet('ddMakeHttpRequest', [
	'url' => 'https://www.example.com/',
	'postData' => [
		'name' => 'John',
		'surname' => 'Doe'
	],
	'headers' => [
		'Accept: application/vnd.api+json',
		'Content-Type: application/vnd.api+json'
	]
]);