scala – 在调度中发送自定义POST https请求(cookie,标头)

有一些关于在发送 http://dispatch.databinder.net/Combined+Pages.html发送邮件请求的文档,但目前尚不清楚.那里有myRequest和myPost是什么?

我想发送一个https发布请求通过标题手动添加一些cookie添加一些海关标题,如表单数据等,然后通过阅读标题和cookie读取响应.

我只知道如何准备发送帖子请求的网址:

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

接下来我该怎么办?

解决方法

dispatch建立在 Async Http Client之上.因此,示例中的myRequest:

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

com.ning.http.client.RequestBuilder.

在RequestBuilder上调用POST方法会将请求转换为POST请求.这就是myPost示例中发生的事情:

def myPost = myRequest.POST

我经常发现dispatch文档难以理解.有关所有各种dispatch运算符的快速概述,请参阅:Periodic Table of Dispatch Operators

如果您正在询问如何构建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)

更新:实际上,RequestBuilder上没有POST方法.对POST的调用dispatch的一部分,并在底层的RequestBuilder上调用setMethod.有关详细信息,请参见dispatch.MethodVerbs.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...