gpt4 book ai didi

golang 下载文件而不是 html 页面

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:53 28 4
gpt4 key购买 nike

我想从这个 URL 下载一个 pgn 文本文件:http://www.chess.com/echess/download_pgn?lid=1222621131 .我有以下(编辑过的)代码应该执行此操作,但它正在下载一个 html 页面。我可能做错了什么?

package main

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

func main() {
url := "http://www.chess.com/echess/download_pgn?lid=1222621131"
filename := "game.pgn"
resp, err := http.Get(url)
...

file, err := os.Create(filename)
defer file.Close()

...

size, err := io.Copy(file, resp.Body)
}

最佳答案

第一个猜测是您未能提供浏览器 session 通常会提供的所有正常身份验证、cookie 和 header 。作为一项实验,以隐身模式打开 Chrome,然后打开您的开发人员工具,现在在该窗口中点击您在上面获取的 URL。当我这样做时,我会查看 Chrome 网络选项卡中的第一个 GET。请注意下面的请求和响应详细信息。请注意 302 的响应代码,这意味着它已找到,但您正在被重定向。现在查看 Location header 。它显示为“/登录”。我怀疑这是您的代码正在下载的页面,因为您的 Go 程序没有像您的浏览器那样的该站点的登录 session /cookie。

我们的浏览器为浏览网站做了很多工作。从头开始编写代码可能需要一些工作。您必须注意 cookie、身份验证、 header 、重定向等。

Remote Address:174.35.7.172:80Request URL:http://www.chess.com/echess/download_pgn?lid=1222621131Request Method:GETStatus Code:302 FoundResponse Headersview parsedHTTP/1.1 302 FoundDate: Sat, 25 Jul 2015 20:49:43 GMTServer: PWS/8.1.20.22X-Px: ms h0-s1027.p12-sjc ( origin)P3P: CP="ALL DSP COR LAW CURa ADMa DEVa TAIa OUR BUS IND ONL UNI COM NAV DEM CNT"Cache-Control: privatePragma: no-cacheExpires: Thu, 19 Nov 1981 08:52:00 GMTContent-Length: 0Content-Type: text/html; charset=utf-8Location: /loginConnection: keep-aliveSet-Cookie: PHPSESSID=pach18her77q4asgsq2heohvj1; path=/; domain=.chess.com; HttpOnlyRequest Headersview parsedGET /echess/download_pgn?lid=1222621131 HTTP/1.1Host: www.chess.comConnection: keep-aliveAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36Accept-Encoding: gzip, deflate, sdchAccept-Language: en-US,en;q=0.8,es;q=0.6Query String Parametersview sourceview URL encodedlid:1222621131

关于golang 下载文件而不是 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630896/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com