Spec-Zone.ru › ColdFusion

cfhttp

Создает HTTP-запрос и разбирает ответ сервера в структуру. Структура результата содержит следующие ключи:statusCode : Код ответа HTTP и строку с описанием причины.fileContent : Тело HTTP-ответа. Обычно это строка, но также может быть массивом байтов.responseHeader : Структуру заголовков ответа, где ключи — имена заголовков, а значения — либо значение заголовка, либо массив значений, если заголовков с одинаковым именем несколько.errorDetail : Сообщение об ошибке, если оно есть.mimeType : MIME-тип, возвращенный в заголовке ответа Content-Type.text : логическое значение, указывающее, является ли тело ответа текстовым или двоичным.charset : Кодировку, возвращенную в заголовке Content-Type.header : Все заголовки HTTP-ответа в виде одной строки.

<cfhttp url="">

cfhttp(url="");

  • CF3+
  • Lucee
  • BL 1.0.0+
  • См. также: cfhttpparam

    Справочник атрибутов

    url string
    Обязательный

    Адрес ресурса на сервере, который будет обрабатывать запрос. URL должен содержать имя хоста или IP-адрес. Если протокол передачи данных (http:// или https://) не указан, CFML использует http по умолчанию. Если в этом атрибуте указать номер порта, он переопределит значение атрибута port. Атрибут URL тега cfhttpparam добавляет к URL пары атрибут-значение строки запроса.

    port numeric
    По умолчанию: 80/443

    Номер порта на сервере, на который отправляется запрос. Значение порта в атрибуте url переопределяет это значение. По умолчанию используется стандартный порт для http или https.

    method string
    По умолчанию: get

    * GET Запрашивает информацию с сервера. Любые данные, необходимые серверу для определения запрашиваемой информации, должны быть указаны в URL или в тегах cfhttp type="URL". * POST Отправляет информацию на сервер для обработки. Требуется один или несколько тегов cfhttpparam. Часто используется для отправки данных формы. * PUT Запрашивает у сервера сохранение тела сообщения по указанному URL. Используйте этот метод для отправки файлов на сервер. * DELETE Запрашивает у сервера удаление ресурса по указанному URL. * HEAD Аналогичен методу GET, но сервер не отправляет тело сообщения в ответе. Используйте этот метод для проверки действительности и доступности гипертекстовых ссылок, определения типа документа или времени его изменения либо определения типа сервера. * TRACE Запрашивает у сервера возврат полученных HTTP-заголовков отправителю в теле ответа. Запросы Trace не могут содержать тело. Этот метод позволяет приложению CFML увидеть, что получает сервер, и использовать эти данные для тестирования или диагностики. * OPTIONS Запрашивает информацию о доступных параметрах связи для сервера или указанного URL. Этот метод позволяет приложению CFML определить параметры и требования, связанные с URL, или возможности сервера, не запрашивая от сервера каких-либо дополнительных действий. * PATCH: запрашивает частичное обновление запрашиваемого ресурса по указанному URL. Используйте этот метод, чтобы изменить отдельные части ресурса; для полной замены ресурса по указанному URL используйте метод PUT. CF 11+
    Значения:
    • get
    • post
    • put
    • delete
    • head
    • trace
    • options
    • patch

    proxyserver string

    Прокси-сервер, необходимый для доступа к URL.

    proxyport numeric
    По умолчанию: 80

    Порт, используемый на прокси-сервере.

    proxyuser string

    Идентификатор пользователя, отправляемый прокси-серверу.

    proxypassword string

    Пароль пользователя на прокси-сервере.

    username string

    Имя пользователя. Может потребоваться серверу.

    password string

    Пароль. Может потребоваться серверу.

    useragent string
    По умолчанию: ColdFusion

    Текст, который будет помещен в заголовок запроса user agent. Используется для идентификации клиентского программного обеспечения, отправившего запрос. Позволяет приложению CFML выглядеть как браузер.

    charset string

    Кодировка запроса, включая строку запроса URL, данные формы или файла, а также ответ. Дополнительные сведения о кодировках см. на странице www.w3.org/International/O-charset.html.
    Значения:
    • utf-8
    • iso-8859-1
    • windows-1252
    • us-ascii
    • shift_jis
    • iso-2022-jp
    • euc-jp
    • euc-kr
    • big5
    • euc-cn
    • utf-16

    resolveurl boolean
    По умолчанию: false

    No — не разрешать URL в теле ответа. В результате относительные ссылки в теле ответа не будут работать. Yes — разрешать URL в теле ответа, преобразуя их в абсолютные URL, включая номер порта, чтобы ссылки на полученной странице оставались работоспособными.

    throwonerror boolean
    По умолчанию: true

    Yes — если сервер возвращает код ошибки, генерируется исключение, которое можно перехватить с помощью cftry и cfcatch или страниц обработки ошибок CFML. No — исключение не генерируется, если получен ответ с ошибкой. В этом случае приложение может использовать переменную cfhttp.StatusCode, чтобы определить, произошла ли ошибка и какова ее причина.

    redirect boolean
    По умолчанию: true

    Если заголовок ответа содержит поле Location, определяет, следует ли перенаправить выполнение на указанный в этом поле URL.

    timeout numeric

    Максимальное время выполнения запроса в секундах. Если за это время ответ не получен, CFML считает запрос неудачным.

    getasbinary string
    По умолчанию: auto

    * No Если CFML не распознает тип тела ответа как текстовый, преобразовать его в объект CFML. * Auto Если CFML не распознает тип тела ответа как текстовый, преобразовать его в данные двоичного типа CFML. * Yes Всегда преобразовывать содержимое тела ответа в данные двоичного типа CFML, даже если CFML распознает тип тела ответа как текстовый. * Never Запрещает автоматическое преобразование некоторых типов MIME в двоичные данные ColdFusion; обрабатывает возвращенное содержимое как текст. CF 7.01+
    Значения:
    • auto
    • no
    • yes
    • never

    result string
    По умолчанию: cfhttp

    CF 7+ Задает имя переменной, в которую необходимо поместить результат.

    delimiter string

    Символ, разделяющий столбцы запроса. В теле ответа этот символ должен использоваться для разделения столбцов запроса.

    name string

    Указывает ColdFusion создать объект запроса с заданным именем на основе возвращенного тела HTTP-ответа.

    columns string

    Имена столбцов запроса, разделенные запятыми без пробелов. Имена столбцов должны начинаться с буквы. Остальные символы могут быть буквами, цифрами или символами подчеркивания (_). Если в ответе нет заголовков с именами столбцов, укажите этот атрибут, чтобы задать имена столбцов. Если указан этот атрибут, а атрибут firstrowasHeader имеет значение True (по умолчанию), имена столбцов, заданные этим атрибутом, заменяют первую строку ответа. Это позволяет заменить имена столбцов, полученные в ответе, на собственные. Если в этом атрибуте или среди имен столбцов из ответа встретится повторяющийся заголовок столбца, ColdFusion добавит к имени символ подчеркивания, чтобы сделать его уникальным. Если количество столбцов, заданное этим атрибутом, не совпадает с количеством столбцов в теле HTTP-ответа, ColdFusion выдает ошибку.

    firstrowasheaders boolean
    По умолчанию: true

    Определяет, как ColdFusion обрабатывает первую строку набора записей запроса: * yes: обрабатывает первую строку как заголовки столбцов. Если указан атрибут columns, ColdFusion игнорирует первую строку файла. * no: обрабатывает первую строку как данные. Если атрибут columns не указан, ColdFusion создает имена столбцов, добавляя числа к слову "column"; например, "column_1".

    textqualifier string
    По умолчанию: "

    Символ, который при необходимости обозначает начало и конец текстового столбца. Этот символ должен окружать все текстовые поля в теле ответа, содержащие символ-разделитель как часть значения поля. Чтобы включить этот символ в текст столбца, экранируйте его, используя два символа вместо одного. Например, если в качестве квалификатора используется двойная кавычка, экранируйте ее как "".
    Значения:
    • "
    • '

    file string

    Имя файла, в который будет сохранено тело ответа. Каталог для записи файла необходимо указать в атрибуте path.

    multipart boolean
    По умолчанию: false

    Указывает ColdFusion отправлять все данные, заданные тегами cfhttpparam type="formField", как данные формы multipart с Content-Type multipart/form-data.
    Значения:
    • false
    • true

    multipartType string
    По умолчанию: form-data

    Позволяет задать для поля заголовка multipart значение related или form-data. По умолчанию используется значение form-data.
    Значения:
    • form-data
    • related

    clientcertpassword string

    Пароль, используемый для расшифровки сертификата клиента.

    path string

    Обязателен, если указан File. Указывает ColdFusion сохранить тело HTTP-ответа в файл. Содержит абсолютный путь к каталогу, в котором нужно сохранить файл.

    clientcert string

    Полный путь к файлу в формате PKCS12, содержащему сертификат клиента для запроса.

    compression string

    Тип сжатия

    authType string
    По умолчанию: BASIC

    CF 11+ ПРИМЕЧАНИЕ. Если тип аутентификации — NTLM, не задавайте для redirect значение false.
    Значения:
    • BASIC
    • NTLM

    domain string

    CF 11+ Доменное имя для аутентификации. (Используется для аутентификации на основе NTLM.)

    workstation string

    CF 11+ Имя рабочей станции для аутентификации. (Используется для аутентификации на основе NTLM.)

    cachedwithin numeric

    Lucee 5+ Интервал времени, заданный с помощью функции CreateTimeSpan. Если дата исходного файла попадает в этот интервал, используются данные файла из кэша. Функция CreateTimeSpan задает период времени от текущего момента в прошлое.

    encodeurl boolean
    По умолчанию: true

    Разрешает или запрещает механизму CFML кодировать URL, указанный в атрибуте url.
    Значения:
    • true
    • false

    Совместимость

    BoxLang:

    Версия 1.0.0+ <bx:http> в BoxLang

    Примеры
    Пример кода с использованием тега cfhttp

    Синтаксис скрипта (CF11+)

    cfhttp(method="GET", charset="utf-8", url="https://www.google.com/", result="result") {
        cfhttpparam(name="q", type="url", value="cfml");
    }
    writeDump(result);

    Альтернативный синтаксис скрипта (CF9+). Удален в ColdFusion 2025.

    httpService = new http(method = "GET", charset = "utf-8", url = "https://www.google.com/");
    httpService.addParam(name = "q", type = "url", value = "cfml");
    result = httpService.send().getPrefix();
    writeDump(result);

    Синтаксис тега CFHTTP

    <cfhttp result="result" method="GET" charset="utf-8" url="https://www.google.com/">
        <cfhttpparam name="q" type="url" value="cfml">
    </cfhttp>
    <cfdump var="#result#">

    © 2012–present Foundeo, Inc. and the CFDocs contributors.
    Licensed under the MIT License.
    ColdFusion is a trademark of Adobe Systems Incorporated.
    https://cfdocs.org/cfhttp

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API