Отправка пользовательского запроса POST https в рассылку (+ куки, + заголовки)

Существует некоторая документация по отправке почтового запроса в http://dispatch.databinder.net/Combined+Pages.html но пока неясно. Что такое myRequest и myPost?

Я хочу отправить https пост-запрос + добавить несколько файлов cookie вручную через заголовки + добавить некоторые таможенные заголовки, такие как данные формы и т. Д., А затем прочитать ответ, прочитав заголовки и файлы cookie.

Я только знаю, как подготовить URL для отправки почтового запроса:

val url = host(myUrl + "?check=1&val1=123").secure

Что мне делать дальше?

1 ответ

Решение

Диспетчеризация строится поверх Async Http Client. Следовательно, myRequest в примере:

 val myRequest = url("http://example.com/some/path")

Это com.ning.http.client.RequestBuilder.

Вызов POST метод на RequestBuilder превращает запрос в запрос POST. Вот что происходит в myPost пример:

def myPost = myRequest.POST

Мне часто трудно следить за документацией по отправке. Для краткого обзора всех различных операторов отправки см.: Периодическая таблица операторов отправки

Если вы спрашиваете, как создать запрос POST и добавить пользовательские параметры формы, вы, вероятно, захотите использовать <<(values) Оператор, как это:

val params = Map("param1" -> "val1", "param2" -> "val2") 
val req = url("http://www.example.com/some/path" <<(params)

Аналогично, если вы хотите добавить несколько пользовательских заголовков, вы можете использовать <:<(map) Оператор, как это:

val headers = Map("x-custom1" -> "val1", "x-custom2" -> "val2") 
val req = url("http://www.example.com/some/path" <<(params) <:<(headers)

Обновление: на самом деле, нет POST метод на RequestBuilder, Призыв к POST является частью рассылки и звонков setMethod на основе RequestBuilder, Смотрите dispatch.MethodVerbs для более подробной информации.

Другие вопросы по тегам