首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戈朗没有打印所有的HTML

戈朗没有打印所有的HTML
EN

Stack Overflow用户
提问于 2022-03-27 09:22:44
回答 1查看 74关注 0票数 -1

我试图得到一个网站的HTML,但它并没有显示给我所有的HTML。我试过使用python,它显示了一切都很好。然而,它并没有在金刚。

这是我的代码:

代码语言:javascript
复制
package main

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

func main() {

    res, err := http.Get("https://golf-land.fr/37-chaussures-de-golf-homme/s-6/marque_2-jordan_golf")
    res.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36")
    res.Header.Add("Accept", `text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9`)
    res.Header.Add("sec-ch-ua", `"Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"`)
    res.Header.Add("sec-ch-ua-platform", "macOS")
    res.Header.Add("Accept-Encoding", "gzip, deflate, br")
    res.Header.Add("Sec-Fetch-Mode", "navigate")
    res.Header.Add("Accept-Language", "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7")
    res.Header.Add("Sec-Fetch-Dest", "document")
    res.Header.Add("Connection", "keep-alive")
    res.Header.Add("Host", "golf-land.fr")
    res.Header.Add("Upgrade-Insecure-Requests", "1")
    res.Header.Add("Cookie", "_gcl_au=1.1.1697272256.1647946908; _ga=GA1.2.1737361814.1647946908; _fbp=fb.1.1647946908571.1339014446; browserupdateorg=pause; PHPSESSID=pl50pcpu4h09pqqgnf9m22o4p6; PrestaShop-90e2722599b5b00d1f7517fdd071a2e0=def502003ef00f575b7a396d02593a799b93e0f74066c05c63b56b5fcbd384f1510ba541b25f8d0f073b1c4991d8bc13b12ff81cb4523351cdf39309fb8b831dfbe55bb640e0a2e8d39edbe6f9954ddab823574908d702268b54f81366954ec33253bbc900bea125e8ffc4ea63002959b978ed5610615646204f7d84692368943f76616751786883db47300009c6e2044213df9ae64df5ad7987e176819a403ed495b16b170b095719f7bd95af047c268cf761c8e1912650da6aa83bb5d8fefb2e3fc49019c2429a7be1a635941836ad9e52c7ed193fa1a9a7f1dd830016a729b8f204331553b5d326caf38c7d849cd236fce06d001a0d6e914cb4a2e38b81a2f7dc004848f0c16c415618acf13cf9f9332a80ff5edc54d0ad4114465c2ae6241e66f0f24b200b422179127eb3f2476a5285f7820d9cde9e39997479a901aaa98392023a7d5b8ef520628793429437171296f9c9936f0d1d8a00ab35b1894f0694ce75bb9494e18284e49a1fcad08bcbcf4501fcd135f6777fb63684e734c9b23a; _gid=GA1.2.562051467.1648368266")

    if err != nil {
        log.Fatalln(err)
    }
    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
        log.Fatalln(err)
    }
    sb := string(body)
    fmt.Print(sb)
}

它丢失了输出中的products-row除法,它出现在浏览器或python中。

EN

回答 1

Stack Overflow用户

发布于 2022-03-27 10:00:49

http.Get构造并向发送请求,然后返回服务器对该请求的响应。在发送请求后设置标头(对其响应也一样)对已经发送的请求本身没有任何影响。您应该使用http.NewRequest来构造请求,然后设置请求的头,然后用(*http.Client).Do方法发送它。

代码语言:javascript
复制
func main() {
    req, err := http.NewRequest("GET", "https://golf-land.fr/37-chaussures-de-golf-homme/s-6/marque_2-jordan_golf", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36")
    // set the rest of the headers ...
    
    res, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }

    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(body))
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71635103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档