我试图调用Web服务,但在播放框架2.0. x我无法调用任何编码的Web服务。
我已经研究了代码:
public static Result wsAction() {
return async(
play.libs.WS.url(Play.application().configuration()
.getString("sms.service.url"))
.setContentType("application/x-www-form-urlencoded; charset=utf-8")
.post("param1=foo¶m2=bar").map(
new F.Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
return ok(response.toString());
}
}
)
);
}
参考:https://stackoverflow.com/a/14938117/4410109
我已经尝试了上面的代码在Play框架2.0.8,但我得到了这个错误:
错误:找不到符号。setContentType(“application/x-www-form-urlencoded;charset=utf-8”)
有没有办法在play framework 2.0中设置内容类型。8.
谢谢
编辑:
这是我的代码:
Promise<WS.Response> result2 = WS.url("desired-url")
.setQueryParameter("sUsername","test")
.setQueryParameter("sPwd","hbl@1234")
.setQueryParameter("sMobileno","03332560744")
.setQueryParameter("sTransaction_id","asdfasdfasdfasdfasdf")
.setQueryParameter("sMessage","test")
.post("content");
WS.Response rs = result2.get();
它返回无效的格式错误。我还在REST客户机上使用表单数据和相同的参数进行了尝试,它还返回了相同的错误“无效格式”。但当我用x-www-form-urlencoded尝试它时,它返回了所需的结果。但是在play 2.0中,我无法设置内容类型。
谢啦
在play 2.0中,您可以
response().setContentType("application/x-www-form-urlencoded; charset=utf-8");
return ok(response.toString());
似乎“setContentType”方法在2.1中可用。0
在2.0.8中,您可以只设置标题
public static Result wsAction() {
return async(
play.libs.WS.url(Play.application().configuration()
.getString("sms.service.url"))
.setHeader(Http.HeaderNames.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=utf-8")
.post("param1=foo¶m2=bar").map(
new F.Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
return ok(response.toString());
}
}
)
);
}
游戏中的一些信息!博士。
如果你POST
一个Map[String, Seq[String]
的内容类型将被设置为Application/x-wow-form-urlencoded
正确。
.post(Map("param1" -> Seq("foo"), "param2" -> Seq("bar")))
我想在Xamarin用AvPlayer播放视频。网间网操作系统。我在Firebase存储公司工作。如果我从android上传视频,媒体类型设置为mp4,但从iOS上传视频,媒体类型设置为URLCoded。我可以用AvPlayer播放mp4文件,但URL编码的文件不可播放。另一方面,URL编码的文件可以在android VideoView中播放。你知道这件事吗? 这里是我的代码,首先从多媒体资料中选
问题内容: 之间有什么区别 request.ContentType =“ application / json; charset = utf-8”; 和 webRequest.ContentType =“ application / x-www-form-urlencoded”; 问题答案: 第一种情况是告诉Web服务器您正在发布JSON数据,如下所示: 第二个选项是告诉Web服务器您将对URL中
当内容类型不是text/html、text/plain或text/xml,而是application/x-www-form-urlencoded内容类型时,我很难理解如何设置字符集。 给出以下(简化的)javascript代码: 如果我没有显式设置编码, Firebug告诉我内容类型是"Application/x-www-form-urlencoded; charset=UTF-8"。 例如,如果
问题内容: 我曾经有ElasticSearch 5.2,并且刚升级到6.0。 我正在尝试按照此处的指南创建索引模板,但出现错误 我的查询是 问题答案: 要解决此问题,请添加curl选项 这个错误是由于 严格的内容类型检查 在ElasticSearch 6.0中引入,在解释这个岗位 从Elasticsearch 6.0开始,所有包含主体的REST请求也必须提供该主体的正确内容类型。
spring-cloud-starter-openfeign 2.1.1.发行版 我还尝试添加假表单依赖项和@param而不是@requestparam,但没有成功。
我试图用C语言复制CURL中的以下代码。请注意,这段代码使用curl时工作正常。我在用这个https://curl.olsh.me/创建请求。 curl-k-u“默认用户:机器人”-H”内容类型:application/x-www-form-urlencoded;v=2.0“-d”value=TRUE“”https://localhost/rw/rapid/symbol/RAPID/T_ROB1/