从groovy的响应中获取html正文

时间:2012-01-04 15:14:51

标签: html groovy

我正在尝试查看html页面中是否存在特定的字符串,但我似乎无法找到一种简单的方法来获取代表正文的字符串。

我试过了:

http.request(Method.GET, { req ->
        uri.path = '/x/app/main'
        response.success = { resp, reader ->
            assert resp.status == 200
            println reader.text.startsWith('denied')
        }

        response.failure = { resp ->
            fail("Failure reported: ${resp.statusLine}")
        }
    })

但reader.text是一个NodeChildren对象。

如何将html(或更具体地说,正文的上下文)作为字符串获取?

1 个答案:

答案 0 :(得分:3)

您可以直接从响应中获取输入流。试试这个:

http.request(Method.GET, { req ->
    uri.path = '/x/app/main'
    response.success = { resp ->
        assert resp.status == 200
        println resp.entity.content.text.startsWith('denied')
    }

    response.failure = { resp ->
        fail("Failure reported: ${resp.statusLine}")
    }
})