1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/astaxie-bat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Сериализация полей в виде JSON-объекта (по умолчанию) или с кодировкой формы (—form, -f).

Поля файла формы field@/dir/file Доступно только с —form, -f. Например, screenshot@~/Pictures/img.png. Наличие поля файла приводит к запросу multipart/form-data.
Поля файла из файла field=@file.txt считывание содержимого из файла в качестве значения
Необработанные поля JSON field:=json, field:=@file.json Полезно при отправке JSON и когда нужно, чтобы одно или несколько полей были логическими значениями, числами, вложенными объектами или массивами, например, meals:='["ham","spam"]' или pies:=[1,2,3] (обратите внимание на кавычки).

Можно использовать ** для экранирования символов, которые не должны использоваться в качестве разделителей (или их частей). Например, foo==bar станет парой ключ/значение данных (foo= и bar) вместо параметра URL.

Также можно заключать значения в кавычки, например, foo="bar baz".

JSON

JSON — это язык общения современных веб-сервисов, а также неявный тип контента, который по умолчанию использует:

Если ваша команда включает некоторые элементы данных, они сериализуются как объект JSON по умолчанию. bat также автоматически устанавливает следующие заголовки, оба из которых можно перезаписать:

Тип содержимого application/json
Accept application/json

Вы можете использовать --json=true, -j=true, чтобы явно установить Accept в application/json, независимо от того, отправляете ли вы данные (это ярлык для установки заголовка через обычную нотацию заголовка — bat url Accept:application/json).

Простой пример:

$ bat PUT example.org name=John email=john@example.org
PUT / HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Content-Type: application/json
Host: example.org

{
    "name": "John",
    "email": "john@example.org"
}

Нестроковые поля используют разделитель :=, который позволяет встраивать необработанный JSON в результирующий объект. Текстовые файлы и файлы JSON также можно встроить в поля с помощью =@ и :=@:

$ bat PUT api.example.com/person/1 \
name=John \
age:=29 married:=false hobbies:='["http", "pies"]' \  # Необработанный JSON
description=@about-john.txt \   # Встраивание текстового файла
bookmarks:=@bookmarks.json      # Встраивание файла JSON

PUT /person/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: api.example.com

{
    "age": 29,
    "hobbies": [
        "http",
        "pies"
    ],
    "description": "John is a nice guy who likes pies.",
    "married": false,
    "name": "John",
    "bookmarks": {
        "HTTPie": "http://httpie.org",
    }
}

Отправьте данные JSON, хранящиеся в файле (см. перенаправленный ввод для дополнительных примеров):

$ bat POST api.example.com/person/1 < person.json

Формы

Отправка форм очень похожа на отправку запросов JSON. Часто единственное отличие заключается в добавлении опции -form=true, -f, которая гарантирует, что поля данных сериализованы правильно, а Content-Type установлен на application/x-www-form-urlencoded; charset=utf-8.

Через файл конфигурации можно сделать данные формы неявным типом контента вместо JSON.

Обычные формы

$ bat -f=true POST api.example.org/person/1 name='John Smith' \
email=john@example.org

POST /person/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=utf-8

name=John+Smith&email=john%40example.org

Формы загрузки файлов

Если присутствует одно или несколько полей файла, сериализация и тип содержимого — multipart/form-data:

$ bat -f=true POST example.com/jobs name='John Smith' cv@~/Documents/cv.pdf

Приведённый выше запрос аналогичен отправке следующей HTML-формы:

<form enctype="multipart/form-data" method="post" action="http://example.com/jobs">
    <input type="text" name="name" />
    <input type="file" name="cv" />
</form>

Обратите внимание, что @ используется для имитации поля загрузки файла.

Заголовки HTTP

Чтобы установить пользовательские заголовки, вы можете использовать нотацию Заголовок:Значение:

$ bat example.org  User-Agent:Bacon/1.0  'Cookie:valued-visitor=yes;foo=bar'  \
X-Foo:Bar  Referer:http://beego.me/

GET / HTTP/1.1

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Инструмент для тестирования HTTP-запросов, разработанный на языке Go. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/astaxie-bat.git
git@api.gitlife.ru:oschina-mirror/astaxie-bat.git
oschina-mirror
astaxie-bat
astaxie-bat
master