当前位置: 首页 > 面试题库 >

如何在Golang中处理纯文本HTTP Get响应?

洪永长
2023-03-14
问题内容

我正在向返回纯文本响应的端点发出HTTP GET请求

如何获取纯文本响应的字符串?

我的代码如下所示:

    url := "http://someurl.com"
    response,err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    responseString := //NOT SURE HOW TO GRAB THE PLAIN TEXT STRING

问题答案:

可以使用可以从传入字节流中读取数据的任何方法来读取主体的响应。其中最简单的是ioutil软件包中提供的ReadAll函数。

responseData,err := ioutil.ReadAll(response.Body)
if err != nil {
    log.Fatal(err)
}

它将以[] byte为单位给您API响应。如果响应是纯文本,则可以使用类型转换将其轻松转换为字符串:

responseString := string(responseData)

并检查结果

fmt.Println(responseString)

示例程序:

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {
    url := "http://country.io/capital.json"
    response, err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    responseData, err := ioutil.ReadAll(response.Body)
    if err != nil {
        log.Fatal(err)
    }

    responseString := string(responseData)

    fmt.Println(responseString)
}


 类似资料:
  • 问题内容: 我正在使用Express 3,并且想处理 文本/纯 POST。 Express 3 现在使用connect的bodyParser(我认为旧的Express代码已转移到connect)。bodyParser的文档提供了有关如何使其支持其他文件类型的一些详细信息。而且我找到了一篇很棒的博客文章,内容涉及在旧版本的Express中如何处理文本/纯文本。 我是否应该明确要求连接(并让节点的要求

  • 我下载用户数据,其中我有一个数字,电子邮件,网站和纯文本在描述。我的第一个问题是如何在文本中找到这些链接和编号,识别并使用它们?当用户点击该号码时,应用程序应打开新的应用程序拨打电话。 示例说明文本: Lorem ipsum dolor sit amet,+44 798-09-09 consectetur adipiscing elit,sed do eiusmod tempor incidunt

  • web API以,但是消息的格式就像是JSON一样,例如。 在Spring中,此消息使用RestTemplate处理,JSON自动映射到POJO, 这会产生以下错误: org.springframework.web.client.RestClientExcture:无法提取响应:没有找到适合响应类型[class api的HttpMessageConzer。ModelDto]和内容类型[文本/普通;

  • 请建议我如何在servlet中读取这个编码文本并解码回原始值。

  • 我正在试用新的Spring 4.0@RestController,以从控制器返回一个简单的文本响应: 当我访问/心跳时,我返回: 结果包括双引号,这是我没有想到的。 当我访问/heartbeat/test时,我会得到一个空响应,但我希望我还活着!文本 使现代化 卷曲-ihttp://myserver.com/rest/heartbeat HTTP/1.1 200 OK内容类型:applicatio

  • 问题内容: 我发现os.Open()返回O_RDONLY文件,而os.Create()返回O_RDWR,但是找不到方法返回APPEND文件指针。 有什么帮助吗? 问题答案: 该OpenFile需要一个标志参数,您可以使用: 与O_CREATE一起使用,OpenFile还可以起到与os.Create()相同的作用。