微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐