首页 文章

无法通过golang http.Get()获取内容,而是500错误 . 为什么?

提问于
浏览
0

我无法获取网站的内容,它返回500错误 . 但如果我切换到www.google.com.hk或其他网站,那没关系 . 为什么?

以下是代码 .

package main

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

func main() {
    resp, err := http.Get("http://www.eqsn.gov.cn") //the browsers,IE\firefox access it is ok.
    // resp, err := http.Get("http://www.google.com.hk")  //It's ok.

    if err != nil {
        log.Fatalf("http.Get => %v", err.Error())
    }
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Printf("\n%v\n\n", string(body))
}

1 回答

  • 4

    如果执行 http.Get() 返回错误500(内部服务器错误),则很可能此错误来自服务器 . 事实上,让我们手动尝试 . 选项 -D- 转储标头 .

    $ curl -D- http://www.eqsn.gov.cnHTTP/1.0 500 Internal Server Error
    Date: Mon, 17 Jun 2013 02:01:11 GMT
    Content-Type: text/html; charset=iso-8859-1
    Content-Length: 538
    X-Powered-By: 
    X-AspNet-Version: 
    MicrosoftOfficeWebServer: 
    Server: 
    X-Cache: MISS from CNC-JSWX-254-131.fastcdn.com
    X-Cache: MISS from CT-ZJNB-152-196.fastcdn.com
    Connection: close
    
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>500 Internal Server Error</title>
    </head><body>
    <h1>Internal Server Error</h1>
    <p>The server encountered an internal error or
    misconfiguration and was unable to complete
    your request.</p>
    <p>Please contact the server administrator,
     [no address given] and inform them of the time the error occurred,
    and anything you might have done that may have
    caused the error.</p>
    <p>More information about this error may be available
    in the server error log.</p>
    </body></html>
    

    正如您所看到的,服务器会给您一个错误500. Go完全正常;它为您提供服务器发送的错误500 . 如果您还有其他问题,请随时提出 .

相关问题