首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HTTPBuilder-NG中成功获取响应正文

在HTTPBuilder-NG中成功获取响应正文
EN

Stack Overflow用户
提问于 2018-05-24 06:37:30
回答 1查看 906关注 0票数 1

我正在尝试在Android Studio项目的Gradle脚本中使用Httpbuilder-NG。该脚本将一些文件上载到web服务器进行验证,服务器以“ok”或未验证的文件的名称作为响应。

我在努力

代码语言:javascript
复制
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中工作得很好。

我也试过

代码语言:javascript
复制
    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}"
    }

结果总是

代码语言:javascript
复制
has body = true
content type = text/html
charset = UTF-8
files uploaded, result = 

即主体应该位于的空字符串。

fs.hasBody返回true

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-05-24 16:57:29

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50498432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档