当我在 LiteIDE 中运行此代码时,通过 build 和 run 命令,它可以工作。但是当我运行它时
go run scraper.go
或者
go build scraper.go ./scraper
它在 r.Body.Close() 行中失败并出现错误
panic: runtime error: invalid memory address or nil pointer dereference
这是违规代码:
r, err := http.Get(job.Url) defer r.Body.Close() //same error with or without defer
脚本在这里:https : //gist.github.com/meddulla/5934457但它基本上接受通过 post 请求抓取的 url,例如
curl -X POST -d "[{\"url\": \"http://localhost:8888/IBTX/proj/dev/article.html\"}]" http://localhost:8080/jobs/add
我不明白为什么它可以在 liteIde 中工作,但当我直接在终端中运行它时却不能(程序启动正常,所以它不是 GOPATH 设置或其他东西,它只在响应发布请求时失败)
任何想法为什么?
动漫人物
相关分类