Методы HTTP-запросов — Grab 0.6.30 documentation

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »

# Методы HTTP-запросов

## Выбор метода

По-умолчанию, создаётся GET-запрос. Если вы указываете POST-данные, то тип запроса автоматически изменяется на POST:

    g.setup(post={'user': 'root'})
    g.request() # будет сгенерирован POST-запрос

Если вам нужен более экзотический типа запроса, вы можете указать его опцией method:

    g.setup(method='PUT')

## POST-запрос

Рассмотрим более подробно создание POST-запросов. По-умолчанию, когда вы задаёте post опцию, тип запроса меняется на POST, а Content-Type становится равен application/x-www-form-urlencoded. Опция post принимает данные в различных форматах. Если вы передаёте dict или список пар значений, то данные будут преобразованы в “key1=value1&key2=value2...” строку. Если же вы передаёте строку, то она будет отпралена в неизменном виде:

    g.setup(post={'user': 'root', 'pwd': '123'})
    g.setup(post=[('user', 'root'), ('pwd', '123')])
    g.setup(post='user=root&pwd=123')

Чтобы отправить POST запрос с Content-Type равным multipart/form-data, используйте опцию multipart_post вместо post.

## Отправка файлов

Чтобы отправить файл используйте специальный класс `UploadFile`, а также опцию multipart_post:

    g.setup(multipart_post={'foo': bar', 'image': UploadFile('/tmp/image.gif')})

### Navigation

- index
- modules |
- next |
- previous |
- Grab 0.6.30 documentation »