我正在尝试在Android Studio项目的Gradle脚本中使用Httpbuilder-NG。该脚本将一些文件上载到web服务器进行验证,服务器以“ok”或未验证的文件的名称作为响应。
我在努力
response.success { FromServer fs, Object body ->
println "Success: ${fs.statusCode}, Text is: ${body}, Properties are: ${body.properties}"
}结果总是这样:
Success: 200, Text is: [102, 105, 108, 101], Properties are: [class:class [B, length:4]
注意,它是一个由4个元素组成的数组,不是文本字符串。无论服务器返回'ok‘还是其他值,数组都保持不变。我知道我的服务器可能会返回一些非标准的东西,但它在Postman中工作得很好。
我也试过
response.success { FromServer fs, Object body ->
println "has body = ${fs.hasBody}"
println "content type = ${fs.contentType}"
println "charset = ${fs.charset}"
println "files uploaded, result = ${fs.reader.text}"
//println "Success: ${fs.statusCode}, Text is: ${body}, Properties are: ${body.properties}"
}结果总是
has body = true
content type = text/html
charset = UTF-8
files uploaded, result = 即主体应该位于的空字符串。
fs.hasBody返回true
任何帮助都将不胜感激。
发布于 2018-05-24 16:57:29
def httpBin = configure {
request.uri = 'http://groovy-lang.org/processing-xml.html'
}
def result = httpBin.get() {
response.success { fromServer,body ->
body
}
}
assert result instanceof groovy.util.slurpersupport.NodeChild
println result上面的代码片段返回此web page http//...processing-xml的<body>标记内的所有文本
要缩小结果的范围,您需要进一步解析groovy.util.slurpersupport.NodeChild。
https://stackoverflow.com/questions/50498432
复制相似问题