我无法获取网站的内容,它返回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))
}
答案 0 :(得分: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。如果您还有其他问题,请随时提出。