gpt4 book ai didi

groovy - 从 HTTP 请求中获取纯 HTML

转载 作者:行者123 更新时间:2023-12-04 05:18:31 25 4
gpt4 key购买 nike

我正在开发一个 grails 应用程序,几个小时以来一直在尝试从请求中获取 html 代码。我想要做的是获得纯 html(就像在网页源中一样,带有所有标签和内容),以便我可以进行处理。

我已经设法使用以下代码为我的获取请求获取它:

url = ("http://google.com").toURL().getText())

它工作得很好,但我还需要能够发出帖子请求。

我已经尝试过使用 httpBuilder,但是我得到的响应看起来像格式良好的文本(带有空格和东西),但是没有任何 html 标签,我需要它们。我正在使用的代码如下所示:
def url = "http://urlToRemoteServer.com/"
def http = new HTTPBuilder(url);


http.post( path: 'pathToMyApp',
requestContentType: "text/xml" ) { resp, reader ->

println "Tweet response status: ${resp.statusLine}"
assert resp.statusLine.statusCode == 200
System.out << reader
}

谁能告诉我如何获得该html代码?我正在研究 groovy,但 Java 解决方案也一样好。

最佳答案

更改帖子 map 以包含 contentType强制纯文本解析(并且,我相信更改为 Accepts header )如下:

http.post( path: 'pathToMyApp',
requestContentType: "text/xml",
contentType: "text/xml") { resp, reader ->

或者,您可以通过添加 ParserRegistry 来更改此请求和 future 请求的解析器​​。在构造函数之后重新映射:
http.parser.'text/html' = http.parser.'text/plain'

您还可以向 setContentType() 添加调用, 在你的构造函数调用 HTTPBuilder 之后:
//...
def http = new HTTPBuilder(url); //existing code
http.contentType = ContentType.TEXT //new addition
http.post( path: 'pathToMyApp', //existing code
//...

关于groovy - 从 HTTP 请求中获取纯 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13939354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com