Go - 运行时错误:无效的内存地址或 nil 指针取消引用

我正在尝试使用 Go 创建一个代理服务器,该服务器将请求正文中的某些值更改为 API,但是当发送请求时,会发生以下恐慌并且请求失败:


2015/05/03 14:17:52 http: panic serving 192.168.1.139:42818: runtime error: invalid memory address or nil pointer dereference

goroutine 72 [running]:

net/http.func·011()

    /usr/lib/go/src/pkg/net/http/server.go:1100 +0xb1

runtime.panic(0x8258ee0, 0x83b3733)

    /usr/lib/go/src/pkg/runtime/panic.c:248 +0x176

main.viewResponse(0x0, 0x1861b470, 0x1860ed01)

    /home/bradley/turbocharger/proxy.go:40 +0xa2

github.com/elazarl/goproxy.FuncRespHandler.Handle(0x82e6480, 0x0, 0x1861b470, 0x1)

    /home/bradley/gopath/src/github.com/elazarl/goproxy/actions.go:35 +0x39

github.com/elazarl/goproxy.func·016(0x0, 0x1861b470, 0x827a768)

    /home/bradley/gopath/src/github.com/elazarl/goproxy/dispatcher.go:279 +0x18f

github.com/elazarl/goproxy.FuncRespHandler.Handle(0x1868c9b0, 0x0, 0x1861b470, 0x4)

    /home/bradley/gopath/src/github.com/elazarl/goproxy/actions.go:35 +0x39

github.com/elazarl/goproxy.(*ProxyHttpServer).filterResponse(0x18682640, 0x0, 0x1861b470, 0x0)

    /home/bradley/gopath/src/github.com/elazarl/goproxy/proxy.go:69 +0x95

github.com/elazarl/goproxy.(*ProxyHttpServer).ServeHTTP(0x18682640, 0xb74dd780, 0x18601260, 0x18600bd0)

    /home/bradley/gopath/src/github.com/elazarl/goproxy/proxy.go:115 +0x39b

net/http.serverHandler.ServeHTTP(0x18681dc0, 0xb74dd780, 0x18601260, 0x18600bd0)

    /usr/lib/go/src/pkg/net/http/server.go:1673 +0x155

net/http.(*conn).serve(0x18628a00)

    /usr/lib/go/src/pkg/net/http/server.go:1174 +0x8c6

created by net/http.(*Server).Serve

    /usr/lib/go/src/pkg/net/http/server.go:1721 +0x2be

这是脚本:


func viewResponse(response *http.Response, ctx *goproxy.ProxyCtx) *http.Response {

    log.Printf("Response: %s", response.Status)


    return response

}


蓝山帝景
浏览 249回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go