V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
thefack
V2EX  ›  Go 编程语言

Go 使用 http.Get() 的奇怪的问题

  •  
  •   thefack · 2020-09-05 16:39:43 +08:00 · 1471 次点击
    这是一个创建于 1540 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是 Win10,工具是 goland

    使用 http.Get(url)读取一段文本时,在 goland 环境中点运行按钮可以获取到,但是 go build 后在在终端运行,就返回状态码 403

    我知道 403 的意思,但是为什么在 goland 中正常,而 build 后就出问题?我添加代理后使用 fiddler 抓包,看到这两种方式的请求头是一样的啊,没有看到区别

    请问大手子们,在 goland 中和在终端中运行有什么差别,导致的这种问题的?

    Maboroshii
        1
    Maboroshii  
       2020-09-05 16:54:08 +08:00
    是不是终端有代理什么的
    dcalsky
        2
    dcalsky  
       2020-09-05 16:55:44 +08:00 via Android
    ssl
    thefack
        3
    thefack  
    OP
       2020-09-05 16:58:02 +08:00
    @Maboroshii 谢谢解答,刚才把 URL 写死成字符串当参数发现可以,应该是我用从终端读取输入的 URL 那部分代码有问题。谢谢你的解答
    thefack
        4
    thefack  
    OP
       2020-09-05 17:04:48 +08:00
    @dcalsky 谢谢解答,我发现问题所在了。使用 fmt.Scanln(&url)从终端输入时,接收的字符串的长度原来有限制,导致输入被截断了。。
    aliipay
        5
    aliipay  
       2020-09-05 20:03:25 +08:00
    你这个 fiddler 一看不就知道的事情吗
    learningman
        6
    learningman  
       2020-09-06 09:55:36 +08:00
    @aliipay 如果程序不尊重系统代理,fiddler 抓不到的,还得上 wireshark
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2499 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 139ms · UTC 15:49 · PVG 23:49 · LAX 07:49 · JFK 10:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.