duanpu1963 2018-11-16 06:43
浏览 26
已采纳

http请求后如何获得响应

I'm studying Go and am a real newbie in this field.

I am facing a problem when I try to copy some value.

What I am doing is:

  1. I want to get some response in [response] using httpRequest.
httpClient := &http.Client{}
response, err := httpClient.Do(req)
if err != nil {
   panic(err)
}
  1. After that, I want to save the stored value in response at 'origin.txt'
origin_ ,_:= ioutil.ReadAll(response.Body)
f_, err := os.Create("origin.txt")
f_.Write(origin_);
  1. And I want to get a specific value by using goquery package.
doc, err := goquery.NewDocumentFromReader(response.Body)
if err != nil {
    log.Fatal(err)
}
doc.Find(".className").Each(func(i int, s *goquery.Selection) {
    w.WriteString("============" + strconv.Itoa(i) + "============")
    s.Find("tr").Each(func(i int, s_ *goquery.Selection) {
    fmt.Println(s_.Text())
    w.WriteString(s_.Text())    
    })
}

)

But in this case, I can get a value exactly what I want from 2) but cannot get anything from 3).

At first, I think the problem is, the response object at 3) is affected by 2) action. Because it is a reference object.

So I tried to copy it to another object and then do it again.

origin := *response

but, I got the same result as first.

What should I do? How can I assign a reference value to another one by its value?

Should I request it twice for each attempt?

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 航班订票系统函数无法运行
      • ¥20 VS2022无法启动程序,如何解决?(语言-c++|开发工具-visual studio)
      • ¥15 c语言可以做出完整的吗有人看看吗
      • ¥15 电脑流氓插件处理方法
      • ¥15 问一下这个可调恒流源电路用哪个电源接口比较好,想用tapec接口仅作为电源接口这个引脚怎么连啊
      • ¥30 Abaqus做建模的时候网格没办法收敛是为什么?
      • ¥15 车牌识别摄像镜头,httppost,nodejs
      • ¥20 腾讯云托管与本地测试 GET请求获取返回值 完全不同
      • ¥15 edge跟谷歌浏览器的默认搜索引擎无法修改,如何解决?
      • ¥15 access数据库出错