2021-06-13 来源:华纳网 责任编辑:王双双 人气:
核心提示:【谷雨课堂】Go实战 No.014 Go干货!连接网络获取网页内容
知识点:

获取网页内容
内容:

大家好,欢迎来到谷雨课堂!

本节,

我们讲一下如何用Go来获取其它网站上的内容,

这个功能非常重要,

我们在与其它系统进行对接的时候,

就需要访问其它系统的各种接口,

而HTTP接口则是最普遍一种,

关于HTTP,可以在谷雨课堂以往的视频找到,

主要分为GET,POST请求,

而JSON则是数据传输过程中应用最广的一种,

那么这节课我们就抛砖引玉,

讲讲如何访问其它系统,

我们用到的库都是Go语言自带的库,

本节使用的GET请求,

其它的请求功能类似,

有一定动手能力的同学们相信很快就能实现



package main


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


//获取网页内容,使用GET方式
func fetch(url string) string {
  fmt.Println("Fetch Url", url)
  client := &http.Client{}
  req, _ := http.NewRequest("GET", url, nil)
  req.Header.Set("User-Agent", "Mozilla/5.0")
  resp, err := client.Do(req)
if err != nil {
    fmt.Println("Http get err:", err)
return ""
  }
if resp.StatusCode != 200 {
    fmt.Println("Http status code:", resp.StatusCode)
return ""
  }
defer resp.Body.Close()
  body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    fmt.Println("Read error", err)
return ""
  }
return string(body)
}


func main() {


  s := fetch("http://www.worldwarner.com")
  fmt.Println(s)


}



延伸阅读:

什么是 HTTP ?

超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。

HTTP 的工作方式是客户端与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

两种 HTTP 请求方法:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

GET - 从指定的资源请求数据。

POST - 向指定的资源提交要被处理的数据。

GET 请求可被缓存

GET 请求保留在浏览器历史记录中

GET 请求可被收藏为书签

GET 请求不应在处理敏感数据时使用

GET 请求有长度限制

GET 请求只应当用于取回数据

POST 请求不会被缓存

POST 请求不会保留在浏览器历史记录中

POST 不能被收藏为书签

POST 请求对数据长度没有要求(有些服务器可能会有最大长度限制)





完整的源代码可以登录【华纳网】下载。

https://www.worldwarner.com/

                                                       




免责声明:本文仅代表作者个人观点,与华纳网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。