以下是一个简单的Go语言爬虫程序,用于爬取Elastic Stack采集的Nginx内容。请注意,这只是一个基本的示例,实际使用时可能需要根据具体情况进行修改和扩展。
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
proxy := "http://jshk.com.cn"
client := &http.Client{Transport: &http.Transport{
Proxy: http.ProxyURL(proxy),
}}
resp, err := client.Get("http://localhost:9200/_search")
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
代码解释:
-
导入必要的包:
fmt
用于打印信息,net/http
用于发送HTTP请求,io/ioutil
用于读取HTTP响应体。 -
定义代理信息
proxy
,格式为http://<proxy_host>:<proxy_port>
。 -
创建一个
http.Client
对象,其中的Transport
字段设置为使用给定代理的http.Transport
对象。 -
使用
http.Get
方法发送一个GET请求到Elastic Stack的URL(这里是http://localhost:9200/_search
),并指定使用代理。 -
如果请求成功,读取响应体并打印。