V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
thefack

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

  •  
  •   thefack · Sep 5, 2020 · 1818 views
    This topic created in 2071 days ago, the information mentioned may be changed or developed.

    系统是 Win10,工具是 goland

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

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

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

    Maboroshii
        1
    Maboroshii  
       Sep 5, 2020
    是不是终端有代理什么的
    dcalsky
        2
    dcalsky  
       Sep 5, 2020 via Android
    ssl
    thefack
        3
    thefack  
    OP
       Sep 5, 2020
    @Maboroshii 谢谢解答,刚才把 URL 写死成字符串当参数发现可以,应该是我用从终端读取输入的 URL 那部分代码有问题。谢谢你的解答
    thefack
        4
    thefack  
    OP
       Sep 5, 2020
    @dcalsky 谢谢解答,我发现问题所在了。使用 fmt.Scanln(&url)从终端输入时,接收的字符串的长度原来有限制,导致输入被截断了。。
    aliipay
        5
    aliipay  
       Sep 5, 2020
    你这个 fiddler 一看不就知道的事情吗
    learningman
        6
    learningman  
       Sep 6, 2020
    @aliipay 如果程序不尊重系统代理,fiddler 抓不到的,还得上 wireshark
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   951 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:20 · PVG 05:20 · LAX 14:20 · JFK 17:20
    ♥ Do have faith in what you're doing.